協助改進此頁面
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
建立 Amazon VPC CNI (Amazon EKS 附加元件)
使用下面的步驟,來建立適用於 Kubernetes Amazon EKS 附加元件的 Amazon VPC CNI 外掛程式。
請檢閱考量之後再開始。如需詳細資訊,請參閱 考量事項。
先決條件
下面說明了適用於 Kubernetes Amazon EKS 附加元件的 Amazon VPC CNI 外掛程式的先決條件。
-
現有 Amazon EKS 叢集。若要部署叢集,請參閱 開始使用 Amazon EKS。
-
叢集的現有 AWS Identity and Access Management (IAM) OpenID Connect (OIDC) 提供商。若要判定您是否已經擁有一個,或是要建立一個,請參閱 為您的叢集建立 IAM OIDC 身分提供者。
-
連接有 AmazonEKS_CNI_Policy IAM 政策 (如果您的叢集使用
IPv4系列) 或 IPv6 政策 (如果您的叢集使用IPv6系列) 的 IAM 角色。若要了解 VPC CNI 角色的相關詳細資訊,請參閱 設定 Amazon VPC CNI 外掛程式以使用 IRSA。若要了解 IPv6 政策的相關詳細資訊,請參閱 為使用 IPv6 系列的叢集建立 IAM 政策。
重要
藉助適用於 Kubernetes 版本的 Amazon VPC CNI 外掛程式 v1.16.0 至 v1.16.1 來實作 CNI 規範版本 v1.0.0。若要了解 CNI 規範 v1.0.0 的相關詳細資訊,請參閱 GitHub 上的容器網路界面 (CNI) 規範
程序
完成先決條件之後,使用下面的步驟來建立附加元件。
-
查看叢集上目前安裝了哪些附加元件版本。
kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3範例輸出如下。
v1.16.4-eksbuild.2 -
查看叢集上安裝的附加元件類型。視您用來建立叢集的工具而定,您的叢集上目前可能沒有安裝 Amazon EKS 附加元件類型。使用您叢集的名稱取代
my-cluster。aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query addon.addonVersion --output text如果傳回版本編號,則表明已在叢集上安裝 Amazon EKS 類型的附加元件,並且無需完成此程序中的剩餘步驟。如果傳回錯誤,則表明沒有在叢集上安裝 Amazon EKS 類型的附加元件。完成此程序的剩餘步驟以安裝該類型。
-
儲存您目前安裝的附加元件。
kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml -
使用 AWS CLI 建立附加元件。如果您想要使用 AWS 管理主控台 或
eksctl建立附加元件,請參閱 建立 Amazon EKS 附加元件 並指定vpc-cni作為附加元件名稱。將隨後的命令複製到您的裝置。視需要對命令進行下列修改,然後執行修改後的命令。-
使用您叢集的名稱取代
my-cluster。 -
使用叢集版本的最新版本資料表中列出的最新版本來取代
v1.20.1-eksbuild.3。若要查看最新版本資料表,請參閱 Amazon VPC CNI 版本。 -
使用帳戶 ID 取代
111122223333,並且使用所建立現有 IAM 角色的名稱取代AmazonEKSVPCCNIRole。若要指定角色,您的叢集需要具有 IAM OpenID Connect (OIDC) 提供者。若要判定您的叢集是否已經擁有一個提供者,或是要建立一個提供者,請參閱 為您的叢集建立 IAM OIDC 身分提供者。aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.20.1-eksbuild.3 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole如果您已將自訂設定套用至與 Amazon EKS 附加元件的預設設定衝突的目前附加元件,建立動作可能會失敗。若建立失敗,您會收到錯誤,其中的訊息有助於您解決問題。或者,您可以將
--resolve-conflicts OVERWRITE新增至上一條命令。這可讓附加元件覆寫任何現有的自訂設定。建立附加元件後,可使用自訂設定來更新該附加元件。
-
-
確認叢集 Kubernetes 版本的附加元件的最新版本已新增至叢集。使用您叢集的名稱取代
my-cluster。aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query addon.addonVersion --output text建立附加元件的動作可能需要幾秒鐘的時間才能完成。
範例輸出如下。
v1.20.1-eksbuild.3 -
如果您對原始附加元件制定自訂設定,請在建立 Amazon EKS 附加元件之前,使用在上一步中儲存的組態,以您的自訂設定更新 EKS 附加元件。請遵循 更新 Amazon VPC CNI (Amazon EKS 附件元件) 中的步驟。
-
(選用) 安裝
cni-metrics-helper到您的叢集。它湊集彈性網路介面和 IP 地址資訊,匯總叢集層級的指標,並將指標發佈至 Amazon CloudWatch。如需詳細資訊,請參閱 GitHub 上的 cni-metrics-helper。