建立 Amazon VPC CNI plugin for Kubernetes Amazon EKS 附加元件 - Amazon EKS

協助改善此頁面

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

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

建立 Amazon VPC CNI plugin for Kubernetes Amazon EKS 附加元件

使用下列步驟來建立 Amazon VPC CNI plugin for Kubernetes Amazon EKS 附加元件。

在開始之前,請檢閱考量事項。如需詳細資訊,請參閱考量事項

必要條件

以下是 的先決條件 Amazon VPC CNI plugin for Kubernetes Amazon EKS 附加元件。

  • 現有的 Amazon EKS叢集。若要部署叢集,請參閱 開始使用 Amazon EKS

  • 現有 AWS Identity and Access Management (IAM) OpenID Connect (OIDC) 叢集的供應商。若要判定您是否已經擁有一個,或是要建立一個,請參閱 建立 IAM OIDC 叢集的提供者

  • 具有 Amazon EKS_CNI_Policy IAM政策 (如果您的叢集使用 IPv4 系列) 的角色,或連接到該IPv6政策 (如果您的叢集使用 IPv6 系列) IAM的角色。如需詳細資訊,請參閱設定要使用的 Amazon VPC CNI 外掛程式 IRSA

  • 如果您使用的是版本 1.7.0或更新版本的 Amazon VPC CNI plugin for Kubernetes 而您可以使用自訂的 Pod 安全政策,請參閱 刪除預設 Amazon EKS Pod 安全政策了解 Amazon EKS建立的 Pod 安全政策 (PSP)

  • 重要

    Amazon VPC CNI plugin for Kubernetes v1.16.0v1.16.1移除與 的相容性的版本 Kubernetes 版本 1.23和更早版本。VPC CNI 版本會v1.16.2還原與 的相容性 Kubernetes 版本 1.23和更舊版本 和CNI規格 v0.4.0

    Amazon VPC CNI plugin for Kubernetes 版本v1.16.0v1.16.1實作CNI規格版本 v1.0.0。CNI 執行 的EKS叢集v1.0.0支援 規格 Kubernetes 版本 v1.24 或更新版本。VPC CNI 版本 v1.16.0 v1.16.1和CNI規格v1.0.0不支援 Kubernetes 版本 v1.23或更早版本。 如需v1.0.0CNI規格的詳細資訊,請參閱 上的容器網路介面 (CNI) 規格

程序

完成先決條件後,請使用下列步驟建立附加元件。

  1. 查看叢集上目前安裝了哪些附加元件版本。

    kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3

    範例輸出如下。

    v1.16.4-eksbuild.2
  2. 查看叢集上安裝的附加元件類型。根據您使用建立叢集的工具,您目前可能尚未在叢集上安裝 Amazon EKS 附加元件類型。Replace (取代) my-cluster 您的叢集名稱。

    $ aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query addon.addonVersion --output text

    如果傳回版本號碼,則您的叢集上安裝了 Amazon EKS類型的附加元件,不需要完成此程序中的其餘步驟。如果傳回錯誤,表示叢集上未安裝 Amazon EKS類型的附加元件。完成此程序的剩餘步驟以安裝該類型。

  3. 儲存您目前安裝的附加元件。

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  4. 使用 AWS CLI建立附加元件。如果您想要使用 AWS Management Console 或 eksctl 建立附加元件,請參閱 建立 Amazon EKS 附加元件vpc-cni指定附加元件名稱。將隨後的命令複製到您的裝置。視需要對命令進行下列修改,然後執行修改後的命令。

    • 使用您叢集的名稱取代 my-cluster

    • Replace (取代) v1.18.5-eksbuild.1 ,其最新版本列於叢集版本的最新版本資料表中。

    • Replace (取代) 111122223333 使用您的帳戶 ID 和 AmazonEKSVPCCNIRole 您已建立之現有IAM角色的名稱。指定角色需要您擁有 IAM OpenID Connect (OIDC) 叢集的供應商。若要判定您的叢集是否已經擁有一個提供者,或是要建立一個提供者,請參閱 建立 IAM OIDC 叢集的提供者

    aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.18.5-eksbuild.1 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole

    如果您已將自訂設定套用至與 Amazon 附加元件預設設定衝突的目前EKS附加元件,則建立可能會失敗。若建立失敗,您會收到錯誤,其中的訊息有助於您解決問題。或者,您可以將 --resolve-conflicts OVERWRITE 新增至上一條命令。這可讓附加元件覆寫任何現有的自訂設定。建立附加元件後,可以使用自訂設定來更新該附加元件。

  5. 確認叢集 的最新版本附加元件 Kubernetes 版本已新增至您的叢集。使用您叢集的名稱取代 my-cluster

    aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query addon.addonVersion --output text

    建立附加元件的動作可能需要幾秒鐘的時間才能完成。

    範例輸出如下。

    v1.18.5-eksbuild.1
  6. 如果您已對原始附加元件進行自訂設定,則在建立 Amazon EKS附加元件之前,請使用您在上一個步驟中儲存的組態,以自訂設定更新 Amazon EKS附加元件。

  7. (選用) 安裝 cni-metrics-helper 到您的叢集。它會抓取彈性網路介面和 IP 地址資訊,在叢集層級彙總資訊,並將指標發佈至 Amazon CloudWatch。如需詳細資訊,請參閱cni-metrics-helper上的 GitHub。