更新 CoreDNS Amazon EKS 附加组件 - Amazon EKS

更新 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. 使用 AWS CLI 更新您的附加组件。如果您想要使用 AWS 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: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}" } }