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

協助改進此頁面

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 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. 使用 AWS CLI 更新您的附加元件。如果您想要使用 AWS 管理主控台 或 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}" } }