このドキュメントでは、ベアメタル版 Anthos クラスタのドメイン ネーム システム(DNS)プロバイダ オプションを構成する方法について説明します。クラスタの DNS 構成は、default
という名前の ClusterDNS カスタム リソースに保持されます。これはクラスタ全体のリソースです。つまり、名前空間のリソースではありません。ClusterDNS カスタム リソースは、すべてのクラスタタイプに適用されます。
ClusterDNS リソースを作成する
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
- serverIP: 203.0.113.1
- serverIP: 203.0.113.2
serverPort: 54
googleAccess: private
マニフェストを my-dns.yaml
という名前のファイルに保存して、リソースをクラスタに適用します。
kubectl --kubeconfig ADMIN_KUBECONFIG apply -f my-dns.yaml
ADMIN_KUBECONFIG
は、管理クラスタの kubeconfig ファイルへのパスに置き換えます。
ClusterDNS リソースの表示
ClusterDNS リソースを表示するには:
kubectl --kubeconfig ADMIN_KUBECONFIG get clusterdns default --output yaml
ADMIN_KUBECONFIG
は、管理クラスタの kubeconfig ファイルへのパスに置き換えます。
ClusterDNS の仕様
以下のセクションでは、クラスタの DNS の構成に使用する ClusterDNS カスタム リソース定義の部分について説明します。クラスタの ClusterDNS リソースはいつでも更新できます。
spec.upstreamNameservers
デフォルトのアップストリーム ネームサーバーをオブジェクトの配列で指定します。オブジェクトの配列にはそれぞれサーバー IP アドレスと、必要に応じてサーバーポートを指定します。サーバーポートのデフォルト値は 53 です。クラスタ以外のドメインのリクエストは、デフォルトでこのサーバー アドレス配列に転送されます。
upstreamNameservers
構成の例を次に示します。
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
列挙(private
、restricted
、default
)。Google ドメインの処理方法を指定します。googleAccess
値は、次の動作を指定します。
default
: Google ドメインで特別な扱いはありません。googleAccess
フィールドを削除しても、同じ結果になります。private
: Google ドメインは、プライベート アクセス IP アドレスにのみ名前解決されます。restricted
: Google ドメインは、アクセス制限付き IP アドレスにのみ名前解決されます。
次の設定例では、Google ドメインはプライベート アクセス IP アドレスにのみ名前解決されます。
spec:
googleAccess: private
詳細については、オンプレミス ホスト用の限定公開の Google アクセスの構成をご覧ください。