

 **協助改進此頁面** 

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

若要為本使用者指南貢獻內容，請點選每個頁面右側面板中的**在 GitHub 上編輯此頁面**連結。

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

# 建立 CoreDNS Amazon EKS 附加元件
<a name="coredns-add-on-create"></a>

建立 CoreDNS Amazon EKS 附加元件。您必須先擁有叢集，方能建立附加元件。如需詳細資訊，請參閱 [建立 Amazon EKS 叢集](create-cluster.md)。

1. 查看叢集上目前安裝了哪些附加元件版本。

   ```
   kubectl describe deployment coredns --namespace kube-system | grep coredns: | cut -d : -f 3
   ```

   範例輸出如下。

   ```
   v1.10.1-eksbuild.13
   ```

1. 查看叢集上安裝的附加元件類型。視您用來建立叢集的工具而定，您的叢集上目前可能沒有安裝 Amazon EKS 附加元件類型。使用您叢集的名稱取代 *my-cluster*。

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

   如果傳回版本編號，則表明已在叢集上安裝 Amazon EKS 類型的附加元件，並且無需完成此程序中的剩餘步驟。如果傳回錯誤，則表明沒有在叢集上安裝 Amazon EKS 類型的附加元件。完成此程序的剩餘步驟以安裝該類型。

1. 儲存您目前安裝的附加元件。

   ```
   kubectl get deployment coredns -n kube-system -o yaml > aws-k8s-coredns-old.yaml
   ```

1. 使用 AWS CLI 建立附加元件。如果您想要使用 AWS 管理主控台 或 `eksctl` 建立附加元件，請參閱 [建立 Amazon EKS 附加元件](creating-an-add-on.md) 並指定 `coredns` 作為附加元件名稱。將隨後的命令複製到您的裝置。視需要對命令進行下列修改，然後執行修改後的命令。
   + 使用您叢集的名稱取代 *my-cluster*。
   + 將 *v1.11.3-eksbuild.1* 取代為叢集版本的[最新版本資料表](managing-coredns.md#coredns-versions)中列出的最新版本。

     ```
     aws eks create-addon --cluster-name my-cluster --addon-name coredns --addon-version v1.11.3-eksbuild.1
     ```

     如果您已將自訂設定套用至與 Amazon EKS 附加元件的預設設定衝突的目前附加元件，建立動作可能會失敗。若建立失敗，您會收到錯誤，其中的訊息有助於您解決問題。或者，您可以將 `--resolve-conflicts OVERWRITE` 新增至上一條命令。這可讓附加元件覆寫任何現有的自訂設定。建立附加元件後，可使用自訂設定來更新該附加元件。

1. 確認叢集 Kubernetes 版本的附加元件的最新版本已新增至叢集。使用您叢集的名稱取代 *my-cluster*。

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

   建立附加元件的動作可能需要幾秒鐘的時間才能完成。

   範例輸出如下。

   ```
   v1.11.3-eksbuild.1
   ```

1. 如果您對原始附加元件制定自訂設定，請在建立 Amazon EKS 附加元件之前，使用在上一步中儲存的組態，以您的自訂設定更新 Amazon EKS 附加元件。如需更新附加元件的說明，請參閱 [更新 CoreDNS Amazon EKS 附加元件](coredns-add-on-update.md)。