本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新 Amazon VPC CNI (自我管理的附加元件)
重要
建議您將附加元件的 Amazon EKS 類型新增至叢集,而不是使用附加元件的自我管理類型。如果您不熟悉類型之間的差異,請參閱 Amazon EKS 附加元件。如需將 Amazon EKS 附加元件新增至叢集的詳細資訊,請參閱 建立 Amazon EKS 附加元件。如果您無法使用 Amazon EKS 附加元件,建議您提交問題,說明為何無法傳送至 Containers roadmap GitHub 儲存庫
-
確認您叢集上未安裝附加元件的 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 附加元件。
-
查看叢集上目前安裝了哪些容器映像版本。
kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3
範例輸出如下。
v1.16.4-eksbuild.2
您的輸出可能不包含建置編號。
-
備份目前的設定,以便在更新版本後設定相同的設定。
kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
若要檢閱可用的版本,並熟悉您要更新之版本中的變更,請參閱 上的版本
GitHub。 請注意,我們建議更新至最新可用版本資料表中列出的相同 major
minor
..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
-
-
確認您的叢集上現在已安裝新版本。
kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3
範例輸出如下。
v1.19.0
-
(選用) 安裝
cni-metrics-helper
到您的叢集。它會抓取彈性網路介面和 IP 地址資訊,在叢集層級彙總資訊,並將指標發佈至 Amazon CloudWatch。如需詳細資訊,請參閱 cni-metrics-helperon GitHub。