更新 Amazon VPC CNI (自我管理的附加元件) - Amazon EKS

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

更新 Amazon VPC CNI (自我管理的附加元件)

重要

建議您將附加元件的 Amazon EKS 類型新增至叢集,而不是使用附加元件的自我管理類型。如果您不熟悉類型之間的差異,請參閱 Amazon EKS 附加元件。如需將 Amazon EKS 附加元件新增至叢集的詳細資訊,請參閱 建立 Amazon EKS 附加元件。如果您無法使用 Amazon EKS 附加元件,建議您提交問題,說明為何無法傳送至 Containers roadmap GitHub 儲存庫

  1. 確認您叢集上未安裝附加元件的 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 類型。若要將其更新,請使用 更新 Amazon EKS 附加元件 中的程序,而不是使用此程序。如果您不熟悉附加元件類型之間的差異,請參閱 Amazon EKS 附加元件

  2. 查看叢集上目前安裝了哪些容器映像版本。

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

    範例輸出如下。

    v1.16.4-eksbuild.2

    您的輸出可能不包含建置編號。

  3. 備份目前的設定,以便在更新版本後設定相同的設定。

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml

    若要檢閱可用的版本,並熟悉您要更新之版本中的變更,請參閱 上的版本 GitHub。 請注意,我們建議更新至最新可用版本資料表中列出的相同 majorminor..patch 版本,即使較新版本可在 GitHub 上使用。如需最新的可用版本資料表,請參閱 Amazon VPC CNI 版本。資料表中列出的組建版本未在 on GitHub 上列出的自我管理版本中指定。透過以下列其中一種選項完成任務來更新您的版本:

    • 如果您沒有任何附加元件的自訂設定,請在要更新https://github.com/aws/amazon-vpc-cni-k8s/releases版本之 on GitHub To apply this release:標題下執行 命令。

    • 如果有自訂設定,則請使用以下命令下載清單檔案。變更 amazon-vpc-cni-khttps://raw.githubusercontent.com/aws/8s/v1.19.0/config/master/aws-k8s-cni.yaml 至您要更新之 URL 發行版的 GitHub 。

      curl -O https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.19.0/config/master/aws-k8s-cni.yaml

      如有必要,請使用您在前一步所建立備份中的自訂設定修改清單檔案,然後將修改後的清單檔案套用至叢集。如果您的節點無法存取從中提取映像的私有 Amazon EKS ECR 儲存庫 (請參閱資訊清單中以 開頭image:的行),則您必須下載映像、將其複製到您自己的儲存庫,然後修改資訊清單,以從儲存庫中提取映像。如需詳細資訊,請參閱將容器映像從一個儲存庫複製到另一個儲存庫

      kubectl apply -f aws-k8s-cni.yaml
  4. 確認您的叢集上現在已安裝新版本。

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

    範例輸出如下。

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