將IPv6地址指派給叢集,pods、 和服務 - Amazon EKS

協助改善此頁面

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

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

將IPv6地址指派給叢集,pods、 和服務

適用於 :Pods 搭配 Amazon EC2執行個體和 Fargate Pods

根據預設,Kubernetes 會將IPv4地址指派給您的 Pods 以及 services。 而不是將IPv4地址指派給您的 Pods 以及 services,您可以設定叢集來為其指派IPv6地址。Amazon EKS不支援雙堆疊 Pods 或 services,即使 Kubernetes 會在 版本 1.23和更新版本中執行。因此,您無法同時將 IPv4IPv6 地址指派給您的 Pods 以及 services.

您可以在建立叢集時選擇要用於此叢集的 IP 系列。建立叢集後無法變更系列。

考量事項

以下是使用 功能的考量事項:

  • 您必須建立新叢集,並指定要為該叢集使用 IPv6 系列。無法為從早期版本更新的叢集啟用 IPv6 系列。如需如何建立新叢集的指示,請參閱 考量事項 。

  • 您部署至叢集的 Amazon VPC CNI 附加元件版本必須是版本 1.10.1或更新版本。依預設,將部署此版本或更新版本。部署附加元件後,如果1.10.1沒有先移除叢集中所有節點群組中的所有節點,則無法將您的 Amazon VPCCNI附加元件降級至低於 的版本。

  • Windows Pods 以及 services 不支援。

  • 如果您使用 Amazon EC2節點,則必須使用 IP 字首委派和 來設定 Amazon VPC CNI 附加元件IPv6。如果您在建立叢集時選擇 IPv6 系列,則附加元件的 1.10.1 版本預設為此設定。這是自我管理或 Amazon EKS附加元件的情況。如需 IP 字首委派的詳細資訊,請參閱 為具有前置字元的 Amazon EKS 節點指派更多 IP 地址

  • 建立叢集時,您指定的 VPC和 子網路必須具有指派給您指定的 VPC和 子網路的IPv6CIDR區塊。他們也必須指派一個IPv4CIDR區塊給他們。這是因為即使您只想要使用 IPv6, VPC仍然需要IPv4CIDR區塊才能運作。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的IPv6CIDR區塊與 建立關聯VPC

  • 建立節點時,您必須指定設定為自動指派IPv6地址的子網路。否則,您無法部署節點。根據預設,會停用此設定。如需詳細資訊,請參閱 Amazon VPC使用者指南中的修改子網路的IPv6定址屬性

  • 指派給子網的路由表必須具有 IPv6 地址的路由。如需詳細資訊,請參閱 Amazon VPC使用者指南中的遷移至 IPv6

  • 您的安全群組必須允許 IPv6 地址。如需詳細資訊,請參閱 Amazon VPC使用者指南中的將遷移至 IPv6

  • 您只能IPv6搭配 AWS Nitro 型 Amazon EC2或 Fargate 節點使用 。

  • 您可以IPv6將安全群組指派至個別 pods搭配 Amazon EC2節點和 Fargate 節點使用 。

  • 如果您以前使用自訂聯網來幫助緩解 IP 地址耗盡情況,則可以改用 IPv6。您無法將自訂聯網與 IPv6 搭配使用。如果您使用自訂聯絡進行網路隔離,則可能需要繼續為叢集使用自訂聯網和 IPv4 系列。

  • 您無法將 IPv6AWS Outposts 搭配使用。

  • Kubernetes Services 只會指派IPv6地址。沒有為其指派 IPv4 地址。

  • Pod 會獲指派IPv6地址和主機本機IPv4地址。主機本機IPv4地址是透過使用與 連結的主機本機CNI外掛程式來指派,VPCCNI且地址不會報告給 Kubernetes 控制平面。只有在 Pod 需要與其他 Amazon VPC或網際網路中的外部IPv4資源通訊時,才會使用此 Pod。主機本機IPv4地址會 SNATed(透過 CNI) VPC 取得ENI工作節點主要 的主要IPv4地址。

  • Pods 以及 services 只會指派IPv6地址。沒有為其指派 IPv4 地址。因為 Pods 能夠在執行個體本身NAT透過 與IPv4端點通訊,DNS64而且NAT64不需要。如果流量需要公有 IP 地址,則流量將轉換為公有 IP 的來源網路地址。

  • 的來源IPv6地址 Pod 在 外部通訊時, 不會將來源網路地址轉譯為節點IPv6的地址VPC。它使用網際網路閘道或僅限輸出的網際網路閘道進行路由。

  • 為所有節點指派 IPv4IPv6 地址。

  • 系統不支援 使用 FSx for Lustre 儲存高效能應用程式

  • 您可以使用版本 2.3.1或更新版本的 AWS Load Balancer Controller 將平衡應用程式網路流量載入至 IPv6 Pods IP 模式,但不是執行個體模式。如需詳細資訊,請參閱使用 AWS Load Balancer Controller 路由網際網路流量

  • 您必須將IPv6IAM政策連接至節點IAM或CNIIAM角色。在兩者之間,我們建議您將其連接至CNIIAM角色。如需詳細資訊,請參閱 為使用 IPv6 系列之叢集建立IAM政策步驟 1:建立 Amazon VPC CNI plugin for Kubernetes IAM 角色

  • 每個 Fargate Pod 從為部署CIDR於其中的子網路指定的 接收IPv6地址。執行 Fargate 的基礎硬體單位 Pods 從指派給硬體裝置部署所在子網路CIDRs的 取得唯一IPv4IPv6地址。

  • 我們建議您在部署IPv6叢集之前,先對整合的應用程式、Amazon 附加EKS元件 AWS 和服務執行徹底的評估。這是為了確保使用 IPv6 時一切都能正常工作。

  • Amazon 不支援使用 Amazon EC2 Instance Metadata Service IPv6端點EKS。

  • 在使用 IPv6 系列的叢集中建立自我管理的節點群組時,使用者資料必須包含在節點啟動時執行的 bootstrap.sh 檔案的下列 BootstrapArguments。Replace (取代) your-cidr 搭配 IPv6 CIDR 叢集 的範圍VPC。

    --ip-family ipv6 --service-ipv6-cidr your-cidr

    如果您不知道叢集IPv6CIDR的範圍,可以使用下列命令查看 (需要 AWS CLI 版本2.4.9或更新版本)。

    aws eks describe-cluster --name my-cluster --query cluster.kubernetesNetworkConfig.serviceIpv6Cidr --output text