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

協助改進此頁面

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

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

重要

建議將附加元件的 Amazon EKS 類型新增到叢集,而不是使用附加元件的自我管理類型。如果您不熟悉類型之間的差異,則請參閱 Amazon EKS 附加元件。如需將 Amazon EKS 附加元件新增至叢集的詳細資訊,請參閱 建立 Amazon EKS 附加元件。如果您無法使用 Amazon EKS 附加元件,我們建議您提交有關為何無法存取容器藍圖 GitHub 儲存庫的問題。

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

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

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

    範例輸出如下。

    v1.20.0-eksbuild.1

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

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

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

    若要檢閱可用版本並熟悉更新版本中的變更,請參閱 GitHub 上的發布版本。請注意,建議您更新最新版本資料表中列出的相同 major.minor.patch 版本,即使 GitHub 上有更新的版本也是如此。若要查看最新提供的版本資料表,請參閱 Amazon VPC CNI 版本。資料表中列出的建置版本並未在 GitHub 上列出的自我管理版本中指定。透過以下列其中一種選項完成任務來更新您的版本:

    • 如果沒有附加元件的任何自訂設定,則請執行 GitHub 上 To apply this release: 標題下的命令,以獲取正在更新到的發行版本

    • 如果有自訂設定,則請使用以下命令下載清單檔案。將 https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.20.0/config/master/aws-k8s-cni.yaml 變更為 GitHub 上您正在更新到的發行版本的 URL。

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

      如有必要,請使用您在前一步所建立備份中的自訂設定修改清單檔案,然後將修改後的清單檔案套用至叢集。如果您的節點無法存取從中提取映像的私有 Amazon EKS Amazon 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.20.1
  5. (選用) 安裝 cni-metrics-helper 到您的叢集。它湊集彈性網路介面和 IP 地址資訊,匯總叢集層級的指標,並將指標發佈至 Amazon CloudWatch。如需詳細資訊,請參閱 GitHub 上的 cni-metrics-helper