AWS re:Post을(를) 사용하면 다음에 동의하게 됩니다. AWS re:Post 이용 약관

Amazon EKS 클러스터에서 CoreDNS를 사용하여 조건부 전달자를 구성하려면 어떻게 해야 하나요?

2분 분량
0

Amazon Elastic Kubernetes Service(Amazon EKS) 클러스터에서 CoreDNS를 사용하여 조건부 전달자를 구성하고 싶습니다.

간략한 설명

CoreDNS를 사용하여 사용자 정의 DNS 서버가 확인하는 도메인으로 전송되는 DNS 쿼리에 대한 조건부 전달자를 구성합니다. 자세한 내용은 Kubernetes 웹사이트에서 DNS 서비스 사용자 정의를 참조하세요.

중요: CoreDNS Amazon EKS 애드온을 구성 변경하기 전에 Amazon EKS가 관리하는 설정을 확인해야 합니다. 이 정보는 Amazon EKS 애드온 구성에서 찾을 수 있습니다. Amazon EKS가 관리하는 필드를 수정하면 Amazon EKS에서 애드온을 관리할 수 없습니다. Amazon EKS는 애드온이 업데이트될 때 변경 사항을 덮어쓸 수 있습니다.

해결 방법

다음 해결 방법은 CoreDNS 자체 관리형 및 Amazon EKS 애드온 구성에 적용됩니다.

자체 관리형 애드온 구성

다음 명령을 실행하여 CoreDNS ConfigMap을 수정하고 사용자 지정 DNS 조건부 전달자 구성을 추가합니다.

$ kubectl -n kube-system edit configmap coredns

다음과 같은 출력이 나타납니다.

apiVersion: v1
kind: ConfigMap
metadata:
  annotations:
  labels:
    eks.amazonaws.com/component: coredns
    k8s-app: kube-dns
  name: coredns
  namespace: kube-system
data:
  Corefile: |
    .:53 {
        errors
        health
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          fallthrough in-addr.arpa ip6.arpa
        }
        prometheus :9153
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }
    domain-name:53 {
        errors
        cache 30
        forward . custom-dns-server
        reload
    }

참고: domain-name을 도메인 이름으로 바꾸고 custom-dns-server를 사용자 지정 DNS 서버 IP 주소로 바꿉니다.

Amazon EKS 애드온 구성

Amazon EKS 관리형 CoreDNS 애드온을 변경하려면 다음 단계를 완료합니다.

  1. Amazon EKS 콘솔을 엽니다.

  2. 탐색 창에서 클러스터를 선택합니다.

  3. 클러스터의 이름을 선택합니다.

  4. 애드온 탭을 선택합니다.

  5. CoreDNS 추가 기능을 선택한 다음 편집을 선택합니다.

  6. 편집 페이지에서 선택적 구성 설정 섹션을 선택합니다. 구성 값 섹션에서 사용자 지정 DNS 조건부 전달자 구성을 추가합니다.

    corefile: |
        .:53 {
            errors
            health
            kubernetes cluster.local in-addr.arpa ip6.arpa {
              pods insecure
              fallthrough in-addr.arpa ip6.arpa
            }
            prometheus :9153
            forward . /etc/resolv.conf
            cache 30
            loop
            reload
            loadbalance
        }
        domain-name:53 {
            errors
            cache 30
            forward . custom-dns-server
            reload
        }

    참고: domain-name을 도메인 이름으로 바꾸고 custom-dns-server를 사용자 지정 DNS 서버 IP 주소로 바꿉니다.

도메인 이름 확인

도메인 이름 확인이 제대로 작동하는지 확인하려면 다음 명령을 실행합니다.

$ kubectl run busybox --restart=Never --image=busybox:1.28 -- sleep 3600
$ kubectl exec busybox -- nslookup domain-name

참고: domain-name을 도메인 이름으로 바꿉니다.

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음