GKE クラスタ スコープを構成する

このページでは、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: マネージド ゾーンを作成したプロジェクトの ID
  • NAME: ゾーンの名前
  • DESCRIPTION: ゾーンの説明
  • DNS_NAME: ゾーンの DNS サフィックス(例: example.private.
  • GKE_CLUSTER_NAME_1GKE_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: マネージド ゾーンを作成したプロジェクトの ID
  • NAME: ゾーンの名前(例: my-zone
  • GKE_CLUSTER_NAME_1GKE_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

次のステップ