協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格的 GitHub 上的編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於:Linux IPv4
Fargate 節點、具有 Amazon EC2 執行個體的 Linux 節點
如果您使用 IPv6
系列部署叢集,則本主題中的資訊不適用於您的叢集,因為IPv6
地址不會進行網路翻譯。如需搭配使用 IPv6
與叢集的詳細資訊,請參閱 了解叢集、Pod 和 服務的 IPv6 地址。
根據預設,叢集中的每個 Pod 都會從與 Pod 部署所在 VPC 相關聯的無類別網域間路由 (CIDR) 區塊中指派一個私有IPv4
地址。相同 VPC 中的 Pod 會使用這些私有 IP 地址做為端點來彼此通訊。當 Pod 與不在與您 VPC 相關聯 CIDR 區塊內的任何IPv4
地址通訊時,Amazon VPC CNI 外掛程式 (適用於 LinuxIPv4
的地址轉譯為 Pod 執行所在節點之主要彈性網路界面的主要私有IPv4
地址 *。
注意
對於 Windows 節點,還有其他詳細資訊需要考慮。根據預設,Windows 的 VPC CNI 外掛程式
由於此行為:
如果在您的環境中下列任一陳述式成立,請使用下列命令變更預設組態。
-
您在網路或 VPCs中有資源,這些資源使用 VPC 對等互連、傳輸 VPC 或 AWS Direct Connect 連接到您的叢集 VPC,這些資源需要使用
IPv4
地址啟動與 Pod 的通訊,而且您的外掛程式版本早於1.8.0
。
kubectl set env daemonset -n kube-system aws-node AWS_VPC_K8S_CNI_EXTERNALSNAT=true
注意
AWS_VPC_K8S_CNI_EXTERNALSNAT
和 AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS
CNI 組態變數不適用於 Windows 節點。Windows 不支援停用 SNAT。對於從 SNAT 排除 IPv4
CIDRs 清單,您可以透過在 Windows 引導指令碼中指定 ExcludedSnatCIDRs
參數來定義此項目。如需使用此參數的詳細資訊,請參閱 引導指令碼組態參數。
主機聯網
* 如果 Pod 的規格包含 hostNetwork=true
(預設為 false
),則其 IP 地址不會翻譯為不同的地址。根據預設, kube-proxy
和 Amazon VPC CNI 外掛程式適用於叢集上執行的 Kubernetes Pod。對於這些 Pod,IP 地址與節點的主要 IP 地址相同,因此不會翻譯 Pod 的 IP 地址。如需 Pod hostNetwork
設定的詳細資訊,請參閱 Kubernetes API 參考中的 PodSpec v1 核心