更新 CoreDNS Amazon EKS 附加组件 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

更新 CoreDNS Amazon EKS 附加组件

更新 附加组件的 Amazon EKS 类型。如果您尚未将 Amazon EKS 附件组件添加到集群,请添加它或参阅更新 CoreDNS Amazon EKS 自主管理型附加组件

在开始之前,请查看升级的注意事项。有关更多信息,请参阅 重要的 CoreDNS 升级注意事项

  1. 查看集群上当前安装的附加组件版本。将 my-cluster 替换为您的集群名称。

    aws eks describe-addon --cluster-name my-cluster --addon-name coredns --query "addon.addonVersion" --output text

    示例输出如下。

    v1.10.1-eksbuild.13

    如果返回的版本与最新版本表中集群的 Kubernetes 版本相同,则表示集群上已经安装最新版本,您无需完成此过程的其余部分。如果您在输出中收到错误信息而不是版本号,则您的集群上没有安装 Amazon EKS 类型的附加组件。您需要先创建附加组件,然后才能使用此过程对其进行更新。

  2. 保存您当前安装的附加组件的配置。

    kubectl get deployment coredns -n kube-system -o yaml > aws-k8s-coredns-old.yaml
  3. 使用 Amazon CLI 更新您的附加组件。如果您想要使用 Amazon Web Services Management Console 或 eksctl 更新附加组件,则请参阅 更新 Amazon EKS 附加组件。将以下命令复制到您的设备。根据需要对该命令进行以下修改,然后运行修改后的命令。

    • my-cluster 替换为您的集群的名称。

    • v1.11.3-eksbuild.1 替换为集群版本的最新版本(在最新版本表中列出)。

    • --resolve-conflictsPRESERVE 选项保留附加组件的现有配置值。如果您为附加组件设置设定了自定义值,但未使用此选项,则 Amazon EKS 会使用其默认值覆盖您的值。如果您使用此选项,那么我们建议您在更新生产集群上的附加组件之前,先测试非生产集群上所有更改的字段和值。如果您将该值改为 OVERWRITE,则所有设置都将更改为 Amazon EKS 的默认值。如果您为任何设置设定了自定义值,这些值可能会被 Amazon EKS 的默认值覆盖。如果您将该值改为 none,Amazon EKS 不会更改任何设置的值,但更新可能会失败。如果更新失败,您会收到一条帮助您解决冲突的错误消息。

    • 如果您没有更新配置设置,则请从命令中移除 --configuration-values '{"replicaCount":3}'。如果您要更新配置设置,请将 "replicaCount":3 替换为要设置的设置。在此示例中,CoreDNS 的副本数设置为 3。您指定的值必须对配置架构有效。如果您不知道配置架构,请运行 aws eks describe-addon-configuration --addon-name coredns --addon-version v1.11.3-eksbuild.1 ,并将 v1.11.3-eksbuild.1 替换为您要查看配置的附加组件的版本号。将在输出中返回架构。如果您有任何现有自定义配置,想要将其全部删除,并将所有设置的值设置回 Amazon EKS 默认值,请从命令中删除 "replicaCount":3,这样就可以有空的 {}。有关 CoreDNS 设置的更多信息,请参阅 Kubernetes 文档中的自定义 DNS 服务

      aws eks update-addon --cluster-name my-cluster --addon-name coredns --addon-version v1.11.3-eksbuild.1 \ --resolve-conflicts PRESERVE --configuration-values '{"replicaCount":3}'

      可能需要几秒钟才能完成更新。

  4. 确认附加组件版本已更新。将 my-cluster 替换为您的集群的名称。

    aws eks describe-addon --cluster-name my-cluster --addon-name coredns

    可能需要几秒钟才能完成更新。

    示例输出如下。

    { "addon": { "addonName": "coredns", "clusterName": "my-cluster", "status": "ACTIVE", "addonVersion": "v1.11.3-eksbuild.1", "health": { "issues": [] }, "addonArn": "arn:aws-cn:eks:region:111122223333:addon/my-cluster/coredns/d2c34f06-1111-2222-1eb0-24f64ce37fa4", "createdAt": "2023-03-01T16:41:32.442000+00:00", "modifiedAt": "2023-03-01T18:16:54.332000+00:00", "tags": {}, "configurationValues": "{\"replicaCount\":3}" } }