帮助改进此页面
想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。
更新 Amazon EKS 自行管理的附加组件
重要
建议您向集群添加 Amazon EKS 类型的附加组件,而不是自行管理类型的附加组件。如果不熟悉这些类型之间的区别,请参阅 Amazon EKS 附加组件。有关向集群中添加 Amazon EKS 附加组件的更多信息,请参阅 创建 Amazon EKS 附加组件。如果您无法使用 Amazon EKS 附加组件,我们鼓励您向容器路线图 GitHub 存储库
-
确认已在您的集群上安装 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 附加组件。
-
查看集群上当前安装的容器映像版本。
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 上的
releases
。请注意,我们建议更新到最新可用版本表中列出的相同major
.minor
.patch
版本,即使 GitHub 上提供了更新版本。表中列出的构建版本并未在 GitHub 上列出的自行管理版本中指定。通过完成以下选项之一中的任务来更新您的版本:-
如果您的附加组件没有任何自定义设置,请在 GitHub 上针对要更新到的版本
运行 To apply this release:
标题下的命令。 -
如果有自定义设置,请使用以下命令下载清单文件。将
https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.18.5/config/master/aws-k8s-cni.yaml
更改为您要更新到的 GitHub 上的版本的 URL。curl -O
https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.18.5/config/master/aws-k8s-cni.yaml
如有必要,使用您在上一步中创建的备份中的自定义设置修改清单,然后将修改后的清单应用到集群。如果节点无法访问从中提取映像的私有 Amazon EKS Amazon 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.18.5
(可选)将
cni-metrics-helper
安装到您的集群。它会抓取弹性网络接口和 IP 地址信息,在集群级别聚合这些信息,并将指标发布到 Amazon CloudWatch。有关更多信息,请参阅 GitHub 上的 cni-metrics-helper。