跳至内容

如何升级 Amazon EKS 插件?

2 分钟阅读
0

我想升级 Amazon Elastic Kubernetes Service (Amazon EKS) 插件。

解决方案

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

查看您可以使用的插件版本

要确定可用于 Amazon EKS 集群版本的插件版本,请运行以下 describe-addon-versions AWS CLI 命令:

aws eks describe-addon-versions --kubernetes-version=cluster-version --addon-name=addon-name --query='addons[].addonVersions[].addonVersion'

**注意:**请将 cluster-version 替换为您的 Amazon EKS 集群的 Kubernetes 版本。此外,请将 addon-name 替换为插件的名称,例如 vpc-cnicoredns

升级插件

如果您的插件的自定义配置或资源与默认设置不同,则您在升级时可能会遇到冲突。要解决这些问题,请使用 AWS CLI 和 --resolve-conflicts 选项来升级您的插件。最佳做法是先在非生产环境中测试升级流程,然后再将其应用于生产集群。有关详细信息,请参阅 How do I prevent configuration conflicts when I create or update my Amazon EKS managed add-ons?

要升级插件,请使用 eksctl、Amazon EKS 控制台或 AWS CLI

验证升级

使用 kubectl 命令检查插件部署的状态,并确保容器组 (pod) 正在运行新版本。对于进程守护程序集插件(例如 vpc-cnikube-proxy),请检查副本数量是否等于节点数。vpc-cnikube-proxy 插件不在 AWS Fargate 或 Windows 节点上运行。

例如,运行以下命令来检查 CoreDNS 部署的当前版本:

kubectl describe deployment coredns -n kube-system | grep Image | cut -d ":" -f 3

或者,完成以下步骤,以在 Amazon EKS 控制台中查看插件的详细信息:

  1. 打开 Amazon EKS 控制台
  2. 在导航窗格中,选择 Clusters(集群)。
  3. 选择您的集群。
  4. 选择 Add-ons(插件)选项卡。
  5. 要查看新版本,请查看 Add-on version(插件版本)列中的值。

要检查插件容器组 (pod) 的日志中是否存在升级过程中出现的错误或问题,请运行以下命令:

kubectl logs -n kube-system -l k8s-app=kube-dns

运行额外测试

要确定您的插件在升级后是否需要进行额外的测试,请查看插件的相关文档以获取最佳实践。另一种最佳做法是对管理核心服务(例如网络或 DNS 解析)的插件进行测试。如果您向插件添加了自定义配置,请确保这些设置在升级后仍能按预期运行。

要测试 Amazon Virtual Private Cloud (Amazon VPC) 容器网络接口 (CNI) 插件,请创建一个新的容器组 (pod) 来验证 IP 地址分配。对于 CoreDNS 插件,请使用 exec 命令进入容器组 (pod),然后使用 nslookup 等工具验证 DNS 解析。

相关信息

Update the CoreDNS Amazon EKS self-managed add-on

Update the Amazon VPC CNI (Amazon EKS add-on)

Manage CoreDNS for DNS in Amazon EKS clusters

AWS 官方已更新 1 年前