

 **このページの改善にご協力ください** 

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「**GitHub でこのページを編集する**」リンクを選択してください。

# CoreDNS Amazon EKS アドオンを更新する
<a name="coredns-add-on-update"></a>

Amazon EKS タイプの アドオンを更新します。Amazon EKS アドオンをクラスターに追加していない場合は[アドオンを追加する](coredns-add-on-create.md)か、「[CoreDNS Amazon EKS セルフマネージドアドオンを更新する](coredns-add-on-self-managed-update.md)」を参照してください。

開始する前に、アップグレードに関する考慮事項を確認してください。詳細については「[CoreDNS アップグレードに関する重要な考慮事項](managing-coredns.md#coredns-upgrade)」を参照してください。

1. クラスターにインストールされているアドオンのバージョンを確認します。*マイクラスター* の部分は自分のクラスター名に置き換えます。

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

   出力例は次のとおりです。

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

   返されたバージョンが、[最新バージョンの表](managing-coredns.md#coredns-versions)にあるクラスターの Kubernetes バージョンのバージョンと同じである場合は既に最新バージョンがクラスターにインストールされているため、この手順の残りを完了する必要はありません。出力にバージョン番号ではなくエラーが表示される場合はアマゾン EKS タイプのアドオンがクラスターにインストールされていません。この手順でアドオンを更新する前に、[アドオンを作成](coredns-add-on-create.md)する必要があります。

1. 現在インストールされているアドオンの設定を保存します。

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

1. AWS CLI を使用してアドオンを更新します。AWS マネジメントコンソール または `eksctl` を使用してアドオンを更新する場合は「[Amazon EKS アドオンを更新する](updating-an-add-on.md)」を参照してください。デバイスに沿ったコマンドをコピーします。必要に応じてコマンドに次の変更を加え、変更したコマンドを実行してください。
   + *マイクラスター* の部分は自分のクラスター名に置き換えます。
   + *v1.11.3-eksbuild.1* を、使用しているクラスターバージョンに対して[最新バージョンの表](managing-coredns.md#coredns-versions)に記載されている最新バージョンに置き換えます。
   + `--resolve-conflictsPRESERVE ` オプションはアドオンの既存の設定値を保存します。アドオン設定にカスタム値を設定していて、このオプションを使用しない場合、アマゾン EKS は値をデフォルト値で上書きします。このオプションを使用する場合、実稼働クラスターのアドオンを更新する前に、非稼動クラスターのフィールドおよび値変更をテストすることをお勧めします。この値を `OVERWRITE` に変更する場合、すべての設定が アマゾン EKS のデフォルト値に変更されます。いずれかの設定にカスタム値を設定した場合、アマゾン EKS のデフォルト値で上書きされる可能性があります。この値を `none` に変更した場合、アマゾン 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* を削除して、`{}` が空になるようにします。設定の詳細については、Kubernetes ドキュメントの「[Customizing DNS Service](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)」を参照してください。

     ```
     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}'
     ```

     更新が完了するまでに数秒かかる場合があります。

1. アドオンのバージョンが更新されたことを確認します。*マイクラスター* の部分は自分のクラスター名に置き換えます。

   ```
   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}"
       }
   }
   ```