このドキュメントでは、管理クラスタまたはユーザー クラスタの DNS を構成する方法について説明します。
クラスタの DNS 構成は、default
という名前の ClusterDNS カスタム リソースに保持されます。これはクラスタ全体のリソースであり、Namespace はありません。
ClusterDNS リソースを表示する
ClusterDNS リソースを表示するには:
kubectl --kubeconfig CLUSTER_KUBECONFIG get clusterdns default --output yaml
CLUSTER_KUBECONFIG は、クラスタの kubeconfig ファイルのパスに置き換えます。
DNS 構成は spec
セクションにあります。spec
セクションが空またはない場合、クラスタはデフォルトの Kubernetes CoreDNS 構成を使用します。
DNS 構成を変更する
default
という名前の ClusterDNS リソースのマニフェストを作成します。必要に応じて spec
を設定します。例:
apiVersion: networking.gke.io/v1alpha1 kind: ClusterDNS metadata: name: default spec: upstreamNameservers: - serverIP: 8.8.8.8 - serverIP: 8.8.4.4 domains: - name: altostrat.com nameservers: - serverIP: 198.51.100.0.1 - name: my-own-personal-domain.com nameservers: - serverIP: 203.0.113.1 - serverIP: 203.0.113.2 serverPort: 54 googleAccess: private
マニフェストを my-dns.yaml
という名前のファイルに保存して、リソースをクラスタに適用します。
kubectl --kubeconfig CLUSTER_KUBECONFIG apply -f my-dns.yaml
ClusterDNS の仕様
spec.upstreamNameservers
オブジェクトの配列。それぞれにサーバーの IP アドレスと、必要に応じてサーバーポートがあります。サーバーポートのデフォルト値は 53 です。
デフォルトのアップストリーム ネームサーバー。クラスタ以外のドメインのリクエストは、デフォルトでこのサーバーセットに転送されます。例:
spec: upstreamNameservers: - serverIP: 8.8.8.8 - serverIP: 1.2.3.4 serverPort: 54
upstreamNameservers
の値を指定しない場合、DNS プロバイダはノード上の /etc/resolve.conf
ファイルを使用して、アップストリーム ネームサーバーのリストを検索します。
spec.domains
特定のドメインの構成。これにより、upstreamNameservers
の構成のオーバーライドが可能になります。
このセクションを使用して、デフォルトのアップストリーム ネームサーバーとは別に、特定のドメイン用に異なるアップストリーム ネームサーバーを構成できます。
ドメインのクエリロギングをオンにすることもできます。これは、指定したドメインまたはクラスタ ドメインである cluster.local に対して行うことができます。
例:
spec: domains: - name: altostrat.com nameservers: - serverIP: 203.0.113.1 - name: my-own-personal-domain.com nameservers: - serverIP: 198.51.100.1 - serverIP: 198.51.100.2 serverPort: 50000 - name: cluster.local queryLogging: true
spec.googleAccess
文字列。Google ドメインがプライベート アクセスの IP アドレスに名前解決するよう指定するには、これを "private"
に設定します。Google ドメインをアクセス制限付きの IP アドレスに名前解決するよう指定するには、これを restricted
に設定します。Google ドメインを特別な方法で処理しない場合は、default
に設定するか削除します。詳細については、オンプレミス ホスト用の限定公開の Google アクセスの構成をご覧ください。
例:
spec: googleAccess: private
spec.orderPolicy
文字列。アップストリーム サーバーを選択する順序指定ポリシーを指定する場合。デフォルトは "random"
です。サポートされるタイプは "random"
、"round_robin"
、"sequential"
です。この順序付けポリシーは、定義済みのドメインにも適用されます。policy
と各構成の機能の詳細については、coredns のドキュメントをご覧ください。
次に例を示します。
spec: orderPolicy: sequential