

 **이 페이지 개선에 도움 주기** 

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 **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. 클러스터에 설치된 추가 기능의 버전을 확인하세요. *<cluster-name>*을 클러스터 이름으로 바꿉니다.

   ```
   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 버전과 동일한 경우 클러스터에 이미 최신 버전이 설치되어 있으므로 이 절차의 나머지 부분을 완료하지 않아도 됩니다. 출력에 버전 번호 대신 오류가 표시되면 클러스터에 설치된 추가 기능의 Amazon 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 Management Console 또는 `eksctl`를 사용하여 추가 기능을 업데이트하려면 [Amazon EKS 추가 기능 업데이트](updating-an-add-on.md) 부분을 참조하세요. 다음 명령을 디바이스에 복사합니다. 필요에 따라 명령을 다음과 같이 수정한 다음에 수정한 명령을 실행합니다.
   + *my-cluster*를 해당 클러스터의 이름으로 바꿉니다.
   + *v1.11.3-eksbuild.1*을 클러스터 버전의 [최신 버전 테이블](managing-coredns.md#coredns-versions)에 나와 있는 최신 버전으로 바꿉니다.
   + `--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 설정에 대한 자세한 내용은 쿠버네티스 문서의 [DNS 서비스 사용자 정의하기](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. 추가 기능 버전이 업데이트되었는지 확인합니다. *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}"
       }
   }
   ```