Amazon EKS クラスターにある条件付きフォワーダーを、CoreDNS を使用して設定する方法を教えてください。

最終更新日: 2020 年 9 月 28 日

Amazon Elastic Kubernetes Service (Amazon EKS) クラスターにおいて、条件付きフォワーダーを CoreDNS を使用して設定したいと考えています。

簡単な説明

CoreDNS を使用すると、カスタマイズされた DNS サーバーによって解決さるドメインに対し送信される DNSクエリの、条件付き転送を設定できます。

解決方法

1.    CoreDNS の ConfigMap を変更し条件付きフォワーダー設定を追加するには、次のコマンドを実行します。

$ 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
          upstream
          fallthrough in-addr.arpa ip6.arpa
        }
        prometheus :9153
        proxy . /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 アドレスに置き換えます。

2.    ドメイン名が正しく解決されているかは、次のコマンドを実行して確認できます。

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

注: domain-name はご自身のドメイン名に置き換えます。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?