VPC 為您的 Amazon EKS叢集建立 Amazon - Amazon EKS

協助改善此頁面

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

VPC 為您的 Amazon EKS叢集建立 Amazon

您可以使用 Amazon Virtual Private Cloud (Amazon VPC) 將 AWS 資源啟動至您定義的虛擬網路。此虛擬網路非常近似於您在自有資料中心內運作的傳統網路。但是,它帶來了使用 Amazon Web 服務的可擴展基礎架構的好處。我們建議您在部署生產 Amazon EKS叢集之前,先徹底了解 Amazon VPC服務。如需詳細資訊,請參閱 Amazon VPC 使用者指南

Amazon EKS叢集、節點和 Kubernetes 資源會部署到 VPC。如果您想要使用 VPC Amazon 現有的 EKS,且VPC必須符合 中所述的要求檢視 VPC和 子網路的 Amazon EKS 網路需求。本主題說明如何使用 Amazon EKS提供的 AWS CloudFormation 範本建立VPC符合 Amazon EKS需求的 。部署範本後,您可以檢視範本所建立的資源,以確切了解其建立的資源以及這些資源的組態。

先決條件

若要VPC為 Amazon 建立 EKS,您必須具備必要的IAM許可才能建立 Amazon VPC 資源。這些資源包括 VPCs、子網路、安全群組、路由表和路由,以及網際網路和NAT閘道。如需詳細資訊,請參閱 Amazon VPC使用者指南中的VPC使用公有子網路範例政策建立 ,以及服務授權參考 中的 Amazon 動作、資源和條件金鑰EC2的完整清單。

您可以建立VPC具有公有和私有子網路、僅限公有子網路或僅限私有子網路的 。

Public and private subnets

這VPC有兩個公有子網路和兩個私有子網路。公有子網路與具有網際網路閘道路由的路由表相關聯。不過,私有子網的關聯路由表沒有連至網際網路閘道的路由。一個公有子網路和一個私有子網路會部署到相同的可用區域。其他公有和私有子網路會部署到相同 AWS 區域中的第二個可用區域。我們建議大多數部署使用此選項。

使用此選項,您可以將節點部署到私有子網。此選項允許 Kubernetes 將負載平衡器部署到可負載平衡流量的公有子網路 Pods 在私有子網路中節點上執行的 。公有 IPv4 地址會自動指派給部署到公有子網路的節點,但公有 IPv4 地址不會指派給部署到私有子網路的節點。

您可以將 IPv6 地址指派給公有和私有子網路中的節點。私有子網路中的節點可以與叢集和其他 通訊 AWS 服務。Pods 可以使用 IPv4 地址透過NAT閘道與網際網路通訊,也可以使用在每個可用區域中部署的 IPv6地址透過僅限傳出網際網路閘道與網際網路通訊。部署的安全群組包含拒絕來自叢集或節點之外的來源的所有傳入流量,但卻允許所有傳出流量的規則。子網路會加上標籤,以便 Kubernetes 可以將負載平衡器部署到它們。

若要建立您的 VPC
  1. https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. 從導覽列中,選取支援 Amazon AWS 區域 的 EKS。

  3. 選擇 Create stack (建立堆疊)With new resources (standard) (使用新資源 (標準))

  4. 先決條件 - 準備範本 下,確定已選取範本,然後在指定範本 下,選取 Amazon S3 URL

  5. 您可以建立僅支援 VPC的 IPv4,或支援 IPv4和 VPC的 IPv6。將下列其中一個 貼URLAmazon S3 URL下的文字區域,然後選擇下一步:

    • IPv4

      https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
    • IPv4IPv6

      https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-ipv6-vpc-public-private-subnets.yaml
  6. Specify stack details (識別堆疊詳細資訊) 頁面上,輸入參數,然後選擇 Next (下一步)。

    • Stack name:為您的 AWS CloudFormation 堆疊選擇堆疊名稱。例如,您可以使用在先前步驟中使用的範本名稱。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以英數字元開頭,且不得超過 100 個字元。名稱在 中必須是唯一的 AWS 帳戶 , AWS 區域 且您要在其中建立叢集。

    • VpcBlock:為您的 選擇IPv4CIDR範圍VPC。每個節點 Pod,您部署的負載平衡器會從此區塊指派IPv4地址。預設 IPv4 值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。如需詳細資訊,請參閱 Amazon VPC使用者指南中的 VPC和子網路大小調整。您也可以在建立其他CIDR區塊VPC後,將其新增至 。如果您要建立 IPv6 VPC,系統會自動從 Amazon 的 Global Unicast Address 空間為您指派IPv6CIDR範圍。

    • PublicSubnet01Block :指定公有子網路 1 的IPv4CIDR區塊。預設值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。如果您要建立 IPv6 VPC,則會在 範本中為您指定此區塊。

    • PublicSubnet02Block :指定公有子網路 2 的IPv4CIDR區塊。預設值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。如果您要建立 IPv6 VPC,則會在 範本中為您指定此區塊。

    • PrivateSubnet01Block :指定私有子網路 1 的IPv4CIDR區塊。預設值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。如果您要建立 IPv6 VPC,則會在 範本中為您指定此區塊。

    • PrivateSubnet02Block :指定私有子網路 2 的IPv4CIDR區塊。預設值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。如果您要建立 IPv6 VPC,則會在 範本中為您指定此區塊。

  7. (選用) 在 Configure stack options (設定堆疊選項) 頁面上,為堆疊資源加上標籤,然後選擇 Next (下一步)。

  8. Review (檢閱) 頁面上,選擇 Create stack (建立堆疊)。

  9. 堆疊建立後,從主控台將其選取,然後選擇 Outputs (輸出)

  10. VpcId 為建立VPC的 記錄 。建立叢集和節點時,您需要此值。

  11. 記錄已建立SubnetIds子網路的 ,以及您是否將其建立為公有或私有子網路。建立叢集和節點時,您至少需要其中兩個。

  12. 如果您建立了 IPv4 VPC,請略過此步驟。如果您建立了 IPv6 VPC,則必須為範本建立的公有子網路啟用自動指派IPv6地址選項。已為私有子網路啟用該設定。若要啟用此設定,請完成下列步驟:

    1. 在 開啟 Amazon VPC主控台https://console.aws.amazon.com/vpc/

    2. 在左側導覽窗格中,選擇 Subnets (子網路)。

    3. 選取其中一個公有子網路 (stack-name/SubnetPublic01stack-name/SubnetPublic02 包含公有 ) 一詞,然後選擇動作 編輯子網路設定

    4. 勾選啟用自動指派 IPv6 地址核取方塊,然後選擇儲存

    5. 為您的其他公有子網路再次完成上述步驟。

Only public subnets

這VPC有三個公有子網路,部署到 中的不同可用區域 AWS 區域。所有節點都會自動指派公有 IPv4 地址,並且可以透過網際網路閘道傳送和接收網際網路流量。部署的安全群組會拒絕所有輸入流量,並允許所有輸出流量。子網路會加上標籤,以便 Kubernetes 可以將負載平衡器部署到它們。

若要建立您的 VPC
  1. https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. 從導覽列中,選取支援 Amazon AWS 區域 的 EKS。

  3. 選擇 Create stack (建立堆疊)With new resources (standard) (使用新資源 (標準))

  4. 準備範本 下,確定範本已準備就緒,然後在範本來源 下,選取 Amazon S3 URL

  5. 將下列項目貼URL到 Amazon S3 URL下的文字區域,然後選擇下一步:

    https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-sample.yaml
  6. Specify Details (指定詳細資訊) 頁面上,輸入參數,然後選擇 Next (下一步)。

    • Stack name:為您的 AWS CloudFormation 堆疊選擇堆疊名稱。例如,您可以稱它為 amazon-eks-vpc-sample。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以英數字元開頭,且不得超過 100 個字元。名稱在 中必須是唯一的 AWS 帳戶 , AWS 區域 且您要在其中建立叢集。

    • VpcBlock:為您的 選擇CIDR區塊VPC。每個節點 Pod,您部署的負載平衡器會從此區塊指派IPv4地址。預設 IPv4 值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。如需詳細資訊,請參閱 Amazon VPC使用者指南中的 VPC和子網路大小調整。您也可以在建立其他CIDR區塊VPC後,將其新增至 。

    • Subnet01Block:指定子網路 1 的CIDR區塊。預設值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。

    • Subnet02Block:指定子網路 2 的CIDR區塊。預設值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。

    • Subnet03Block:指定子網路 3 的CIDR區塊。預設值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。

  7. (選用) 在 Options (選項) 頁面上,為堆疊資源加上標籤。選擇 Next (下一步)

  8. Review (檢閱) 頁面上,選擇 Create (建立)。

  9. 堆疊建立後,從主控台將其選取,然後選擇 Outputs (輸出)

  10. VpcId 為建立VPC的 記錄 。建立叢集和節點時,您需要此值。

  11. SubnetIds 為建立的子網路記錄 。建立叢集和節點時,您至少需要其中兩個。

  12. (選用) 您部署至此的任何叢集VPC都可以將私有IPv4地址指派給您的 Pods 以及 services。 如果您想要將叢集部署至此,VPC將私有IPv6地址指派給您的 Pods 以及 services,對 VPC、子網路、路由表和安全群組進行更新。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的將現有 VPCs 遷移IPv4IPv6 。Amazon EKS要求子網路啟用Auto-assignIPv6地址選項。預設為停用狀態。

Only private subnets

這VPC有三個私有子網路,部署到 中的不同可用區域 AWS 區域。部署到子網的資源無法存取網際網路,網際網路也無法存取子網中的資源。範本使用 為 AWS 服務 節點通常需要存取 AWS PrivateLink 的數個 建立VPC端點。如果您的節點需要傳出網際網路存取,您可以在VPC建立 後,在每個子網路的可用區域中新增公有NAT閘道。建立的安全群組會拒絕所有傳入流量,部署到子網中的資源除外。安全群組亦允許所有傳出流量。子網路會加上標籤,以便 Kubernetes 可以將內部負載平衡器部署到它們。如果您要VPC使用此組態建立 ,請參閱 部署網際網路存取受限的私有叢集 以取得其他需求和考量事項。

若要建立您的 VPC
  1. https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. 從導覽列中,選取支援 Amazon AWS 區域 的 EKS。

  3. 選擇 Create stack (建立堆疊)With new resources (standard) (使用新資源 (標準))

  4. 準備範本 下,確定已選取範本,然後在範本來源 下,選取 Amazon S3 URL

  5. 將下列項目貼URL到 Amazon S3 URL下的文字區域,然後選擇下一步:

    https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-fully-private-vpc.yaml
  6. Specify Details (指定詳細資訊) 頁面上,輸入參數,然後選擇 Next (下一步)。

    • Stack name:為您的 AWS CloudFormation 堆疊選擇堆疊名稱。例如,您可以稱它為 amazon-eks-fully-private-vpc。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以英數字元開頭,且不得超過 100 個字元。名稱在 中必須是唯一的 AWS 帳戶 , AWS 區域 且您要在其中建立叢集。

    • VpcBlock:為您的 選擇CIDR區塊VPC。每個節點 Pod,您部署的負載平衡器會從此區塊指派IPv4地址。預設 IPv4 值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。如需詳細資訊,請參閱 Amazon VPC使用者指南中的 VPC和子網路大小調整。您也可以在建立其他CIDR區塊VPC後,將其新增至 。

    • PrivateSubnet01Block :指定子網路 1 的CIDR區塊。預設值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。

    • PrivateSubnet02Block :指定子網路 2 的CIDR區塊。預設值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。

    • PrivateSubnet03Block :指定子網路 3 的CIDR區塊。預設值為大多數實作提供足夠的 IP 地址,但如果沒有,則可以進行變更。

  7. (選用) 在 Options (選項) 頁面上,為堆疊資源加上標籤。選擇 Next (下一步)

  8. Review (檢閱) 頁面上,選擇 Create (建立)。

  9. 堆疊建立後,從主控台將其選取,然後選擇 Outputs (輸出)

  10. VpcId 為建立VPC的 記錄 。建立叢集和節點時,您需要此值。

  11. 記錄所建立子網路SubnetIds的 。建立叢集和節點時,您至少需要其中兩個。

  12. (選用) 您部署至此的任何叢集VPC都可以將私有IPv4地址指派給您的 Pods 以及 services。 如果您想要將叢集部署至此,VPC將私有IPv6地址指派給您的 Pods 以及 services,對 VPC、子網路、路由表和安全群組進行更新。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的將現有 VPCs 遷移IPv4IPv6 。Amazon EKS要求子網路啟用Auto-assign IPv6地址選項 (預設為停用)。