Configurar uma zona com escopo de cluster do Cloud DNS por zona

Nesta página, descrevemos como usar o Cloud DNS para configurar uma zona de escopo de cluster do Google Kubernetes Engine (GKE) por zona.

Para configurar uma zona de DNS com escopo de cluster do GKE usando o Cloud DNS, primeiro escolha uma zona de DNS particular existente ou crie uma nova zona de DNS particular para anexar um cluster específico do GKE. Em seguida, configure a zona DNS para fazer referência ao nome do cluster do GKE.

Para uma visão geral das zonas do Cloud DNS por zona, consulte Zonas do Cloud DNS por zona. Para saber mais sobre escopos, consulte Escopos e hierarquias.

Criar uma zona particular zonal para o cluster zonal do GKE

Para criar uma nova zona particular gerenciada por zona usando o Cloud DNS para o cluster zonal do GKE, siga esta etapa.

gcloud

Execute o comando gcloud beta dns managed-zones create:

gcloud beta dns managed-zones create NAME \
    --description=DESCRIPTION \
    --visibility=private \
    --gkeclusters=GKE_CLUSTER \
    --location=LOCATION

Substitua:

  • NAME: um nome para a zona;
  • DESCRIPTION: uma descrição para a zona;
  • GKE_CLUSTER: o caminho do recurso totalmente qualificado de um cluster do GKE, como projects/my-project/locations/us-east1-a/clusters/my-cluster.
  • LOCATION: o local do cluster do GKE, especificamente a zona do Google Cloud em que o cluster está localizado, como us-east1-a

API

Envie uma solicitação POST usando o método managedZones.create:

POST https://www.googleapis.com/dns/v2/projects/PROJECT_ID/locations/LOCATION/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
        },
        ....
    ]
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto em que você criou a zona gerenciada
  • NAME: um nome para a zona;
  • DESCRIPTION: uma descrição para a zona;
  • DNS_NAME: o sufixo DNS da sua zona, como example.private.
  • GKE_CLUSTER_NAME_1 e GKE_CLUSTER_NAME_2: o caminho do recurso totalmente qualificado de um cluster do GKE, como projects/my-project/locations/us-east1-a/clusters/my-cluster.
  • LOCATION: o local do cluster do GKE, especificamente a zona do Google Cloud em que o cluster está localizado, como us-east1-a

Autorizar o cluster do GKE a consultar uma zona particular do Cloud DNS

Para autorizar o cluster zonal do GKE a consultar uma zona particular do Cloud DNS, siga esta etapa.

gcloud

Execute o comando gcloud beta dns managed-zones update:

gcloud beta dns managed-zones update NAME \
    --gkeclusters=GKE_CLUSTER  \
    --location=LOCATION

Substitua:

  • NAME: o nome da zona, como my-zone
  • GKE_CLUSTER: o caminho do recurso totalmente qualificado de um cluster do GKE, como projects/my-project/locations/us-east1-a/clusters/my-cluster.
  • LOCATION: o local do cluster do GKE, especificamente a zona do Google Cloud em que o cluster está localizado, como us-east1-a. A zona gerenciada só é visível nessa zona do Google Cloud.

API

Envie uma solicitação PATCH usando o método managedZones.patch:

PATCH https://www.googleapis.com/dns/v2/projects/PROJECT_ID/locations/LOCATION/managedZones/NAME
{
"privateVisibilityConfig": {
    "gkeClusters": [{
            "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters",
            "gkeClusterName": GKE_CLUSTER_NAME_1
        },
        {
            "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters",
            "gkeClusterName": GKE_CLUSTER_NAME_2
        },
        ....
    ]
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto em que você criou a zona gerenciada
  • NAME: o nome da zona, como my-zone
  • GKE_CLUSTER_NAME_1 e GKE_CLUSTER_NAME_2: o caminho do recurso totalmente qualificado de um cluster do GKE, como projects/my-project/locations/us-east1-a/clusters/my-cluster.
  • LOCATION: o local do cluster do GKE, especificamente a zona do Google Cloud em que o cluster está localizado, como us-east1-a. A zona gerenciada só é visível nessa zona do Google Cloud.

Configurar o cluster zonal do GKE para consultar uma política de resposta zonal

Para configurar o cluster zonal do GKE para consultar uma política de resposta zonal, siga esta etapa.

gcloud

Execute o comando gcloud beta dns response-policies create:

gcloud beta dns response-policies create NAME \
    --description=DESCRIPTION \
    --gkeclusters=GKE_CLUSTER  \
    --location=LOCATION

Substitua:

  • NAME: um nome para a política de resposta, como my-response-policy.
  • DESCRIPTION: uma descrição para sua política de resposta, como my-response-policy-for-gke-5
  • GKE_CLUSTER: o caminho do recurso totalmente qualificado de um cluster do GKE, como projects/my-project/locations/us-east1-a/clusters/my-cluster.
  • LOCATION: o local do cluster do GKE, especificamente a zona do Google Cloud em que o cluster está localizado, como us-east1-a. A zona gerenciada só é visível nessa zona do Google Cloud.

API

Envie uma solicitação POST usando o método responsePolicies.create:

POST https://www.googleapis.com/dns/v2/projects/PROJECT_ID/locations/LOCATION/responsePolicies
{
  "responsePolicyName": "NAME",
  "description": "DESCRIPTION",
  "gkeClusters": [
    {
      "kind": "dns#responsePolicyGKECluster",
      "gkeClusterName": "GKE_CLUSTER"
    },
  ]
}

Substitua:

  • NAME: um nome para a política de resposta, como my-response-policy.
  • DESCRIPTION: uma descrição para sua política de resposta, como my-response-policy-for-gke-5
  • GKE_CLUSTER: o caminho do recurso totalmente qualificado de um cluster do GKE, como projects/my-project/locations/us-east1-a/clusters/my-cluster.
  • LOCATION: o local do cluster do GKE, especificamente a zona do Google Cloud em que o cluster está localizado, como us-east1-a. A zona gerenciada só é visível nessa zona do Google Cloud.

A seguir