このページでは、Cloud DNS を使用して Google Kubernetes Engine クラスタ スコープを構成する方法について説明します。
Cloud DNS を使用して GKE クラスタ スコープ DNS ゾーンを構成するには、まず既存の限定公開 DNS ゾーンを選択するか、特定の GKE クラスタを接続する新しい限定公開 DNS ゾーンを作成します。次に、GKE クラスタの名前を参照するように DNS ゾーンを構成します。
スコープの詳細については、スコープと階層をご覧ください。
GKE クラスタの限定公開ゾーンを作成する
Cloud DNS を使用して GKE クラスタに新しい限定公開マネージド ゾーンを作成するには、次の手順を行います。
gcloud
gcloud dns managed-zones create
コマンドを実行します。
gcloud dns managed-zones create NAME \ --dns-name=DNS_NAME \ --visibility=private \ --gkeclusters=GKE_CLUSTER
以下を置き換えます。
NAME
: ゾーンの名前DNS_NAME
: ゾーンの DNS サフィックス(例:example.private.
)GKE_CLUSTER
: GKE クラスタの完全修飾されたリソースパス(例:projects/my-project/locations/us-east1a/clusters/my-cluster
)
API
managedZones.create
メソッドを使用して、POST
リクエストを送信します。
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones { "name": "NAME", "description": "DESCRIPTION", "dnsName": "DNS_NAME", "visibility": "private" "privateVisibilityConfig": { "kind": "dns#managedZonePrivateVisibilityConfig", "gkeClusters": [{ "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters", "gkeClusterName": GKE_CLUSTER_NAME_1 }, { "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters", "gkeClusterName": GKE_CLUSTER_NAME_2 }, .... ] } }
以下を置き換えます。
PROJECT_ID
: マネージド ゾーンを作成したプロジェクトの IDNAME
: ゾーンの名前DESCRIPTION
: ゾーンの説明DNS_NAME
: ゾーンの DNS サフィックス(例:example.private.
)GKE_CLUSTER_NAME_1
とGKE_CLUSTER_NAME_2
: GKE クラスタの完全修飾されたリソースパス(例:projects/my-project/locations/us-east1a/clusters/my-cluster
)
GKE クラスタに Cloud DNS 限定公開ゾーンへのクエリを許可する
GKE クラスタに既存の Cloud DNS 限定公開ゾーンへのクエリを許可するには、次の操作を行います。
gcloud
gcloud dns managed-zones update
コマンドを実行します。
gcloud dns managed-zones update NAME \ --gkeclusters=GKE_CLUSTER
以下を置き換えます。
NAME
: ゾーンの名前(例:my-zone
)GKE_CLUSTER
: GKE クラスタの完全修飾されたリソースパス(例:projects/my-project/locations/us-east1a/clusters/my-cluster
)
API
managedZones.patch
メソッドを使用して、PATCH
リクエストを送信します。
PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/NAME { "privateVisibilityConfig": { "gkeClusters": [{ "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters", "gkeClusterName": GKE_CLUSTER_NAME_1 }, { "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters", "gkeClusterName": GKE_CLUSTER_NAME_2 }, .... ] } }
以下を置き換えます。
PROJECT_ID
: マネージド ゾーンを作成したプロジェクトの IDNAME
: ゾーンの名前(例:my-zone
)GKE_CLUSTER_NAME_1
とGKE_CLUSTER_NAME_2
: GKE クラスタの完全修飾されたリソースパス(例:projects/my-project/locations/us-east1a/clusters/my-cluster
)
レスポンス ポリシーをクエリするように GKE クラスタを構成する
レスポンス ポリシーをクエリするように GKE クラスタを構成するには、次の手順を行います。
gcloud
gcloud dns response-policies create
コマンドを実行します。
gcloud dns response-policies create NAME \ --description=DESCRIPTION \ --gkeclusters=GKE_CLUSTER
以下を置き換えます。
NAME
: レスポンス ポリシーの名前(例:my-response-policy
)DESCRIPTION
: レスポンス ポリシーの説明(例:"my-response-policy-for-gke-5"
)GKE_CLUSTER
: GKE クラスタの完全修飾されたリソースパス(例:projects/my-project/locations/us-east1a/clusters/my-cluster
)
API
responsePolicies.create
メソッドを使用して、POST
リクエストを送信します。
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies { "responsePolicyName": "NAME", "description": "DESCRIPTION", "gkeClusters": [ { "kind": "dns#responsePolicyGKECluster", "gkeClusterName": "GKE_CLUSTER" }, ] }
以下を置き換えます。
NAME
: レスポンス ポリシーの名前(例:my-response-policy
)DESCRIPTION
: レスポンス ポリシーの説明(例:my-response-policy-for-gke-5
)GKE_CLUSTER
: GKE クラスタの完全修飾されたリソースパス(例:projects/my-project/locations/us-east1a/clusters/my-cluster
)
次のステップ
- Cloud DNS の使用時に発生する可能性のある一般的な問題の解決策については、トラブルシューティングをご覧ください。
- Cloud DNS のレスポンス ポリシーとルールの詳細については、レスポンス ポリシーとルールを管理するをご覧ください。
- オペレーションの監査ログを表示するには、マネージド ゾーンでオペレーションを表示するをご覧ください。