Configurações avançadas de cluster particular


Nesta página, descrevemos algumas configurações avançadas que podem ser necessárias ao criar um cluster particular. Para aprender a configuração básica de um cluster particular, consulte Como criar um cluster particular.

Como conceder aos nós privados acesso à Internet de saída

Para fornecer acesso de Internet de saída aos seus nós particulares, como para extrair imagens de um registro externo, use o Cloud NAT para criar e configurar um Cloud Router. O Cloud NAT permite que clusters particulares estabeleçam conexões de saída pela Internet para enviar e receber pacotes.

O Cloud Router permite que todos os nós da região usem o Cloud NAT para todos os intervalos de IP de alias e principais. Ele também aloca automaticamente os endereços IP externos para o gateway NAT.

Para instruções sobre como criar e configurar um Cloud Router, consulte Criar uma configuração do Cloud NAT usando o Cloud Router na documentação do Cloud NAT.

Como criar um cluster privado em uma rede VPC compartilhada

Para saber como criar um cluster particular em uma rede VPC compartilhada, consulte Como criar um cluster particular em uma VPC compartilhada.

Como implantar um aplicativo de contêiner do Windows Server em um cluster privado

Para saber como implantar um aplicativo de contêiner do Windows Server em um cluster particular, consulte a documentação do pool de nós do Windows.

Como acessar o endpoint privado do plano de controle globalmente

O endpoint particular do plano de controle é implementado por um balanceador de carga de rede interno na rede VPC do plano de controle. Clientes internos ou conectados por meio de túneis do Cloud VPN e anexos da VLAN do Cloud Interconnect podem acessar balanceadores de carga de rede internos.

Por padrão, esses clientes precisam estar localizados na mesma região do balanceador de carga.

Quando você ativa o acesso global do plano de controle, o balanceador de carga de rede interno é acessível globalmente: as VMs cliente e sistemas locais podem se conectar ao endpoint particular do plano de controle, sujeito à configuração de redes autorizadas, em qualquer região.

Para mais informações sobre os balanceadores de carga de rede internos e o acesso global, consulte Balanceadores de carga internos e redes conectadas.

Como ativar o acesso global do endpoint particular do plano de controle

Por padrão, o acesso global não é ativado para o endpoint privado do plano de controle quando você cria um cluster privado. Para ativar o acesso global ao plano de controle, use as seguintes ferramentas com base no modo de cluster:

  • Para clusters padrão, use Google Cloud CLI ou o Console do Google Cloud.
  • Para clusters do Autopilot, use o recurso Terraform google_container_cluster.

Console

Para criar um novo cluster privado com acesso global do plano de controle ativado, execute as etapas a seguir:

  1. Acesse a página Google Kubernetes Engine no console do Google Cloud.

    Acessar o Google Kubernetes Engine

  2. Clique em Criar e, na seção Standard ou Autopilot, clique em Configurar.

  3. Digite um Nome.

  4. No painel de navegação, clique em Rede.

  5. Selecione Cluster particular.

  6. Marque a caixa de seleção Ativar acesso global do plano de controle.

  7. Configure outros campos como quiser.

  8. Clique em Criar.

Para ativar o acesso global do plano de controle a um cluster particular atual, execute as seguintes etapas:

  1. Acesse a página Google Kubernetes Engine no console do Google Cloud.

    Acessar o Google Kubernetes Engine

  2. Ao lado do cluster que você quer editar, clique em Ações e, depois, em Editar.

  3. Na seção Rede, ao lado de Acesso global ao plano de controle, clique em Editar.

  4. Na caixa de diálogo Editar o acesso global ao plano de controle, marque a caixa de seleção Ativar o acesso global ao plano de controle.

  5. Clique em Salvar alterações.

gcloud

Adicione a sinalização --enable-master-global-access para criar um cluster particular com acesso global ao endpoint particular do plano de controle ativado:

gcloud container clusters create CLUSTER_NAME \
    --enable-private-nodes \
    --enable-master-global-access

Também é possível ativar o acesso global ao endpoint particular do plano de controle para um cluster particular atual:

gcloud container clusters update CLUSTER_NAME \
    --enable-master-global-access

Como verificar o acesso global do endpoint particular do plano de controle

Verifique se o acesso global ao endpoint privado do plano de controle está ativado executando o comando a seguir e observando a saída.

gcloud container clusters describe CLUSTER_NAME

A saída inclui uma seção privateClusterConfig em que vê o status de masterGlobalAccessConfig.

privateClusterConfig:
  enablePrivateNodes: true
  masterIpv4CidrBlock: 172.16.1.0/28
  peeringName: gke-1921aee31283146cdde5-9bae-9cf1-peer
  privateEndpoint: 172.16.1.2
  publicEndpoint: 34.68.128.12
  masterGlobalAccessConfig:
    enabled: true

Como acessar o endpoint particular do plano de controle em outras redes

Quando você cria um cluster particular do GKE e desativa o endpoint público do plano de controle, é necessário administrá-lo com ferramentas como kubectl usando o endpoint particular do plano de controle. É possível acessar o endpoint particular do plano de controle do cluster de outra rede, incluindo o seguinte:

  • uma rede local conectada à rede VPC do cluster usando túneis do Cloud VPN ou anexos da VLAN do Cloud Interconnect;
  • Outra rede VPC conectada à rede VPC do cluster usando túneis do Cloud VPN

O diagrama a seguir mostra um caminho de roteamento entre uma rede no local e os nós do plano de controle do GKE:

Diagrama mostrando o roteamento entre a VPC local e o plano de controle do cluster

Para permitir que sistemas em outra rede se conectem ao endpoint particular do plano de controle de um cluster, atenda aos seguintes requisitos:

  1. Identifique e registre informações de rede relevantes para o cluster e o endpoint particular do plano de controle.

    gcloud container clusters describe CLUSTER_NAME \
       --location=COMPUTE_LOCATION \
       --format="yaml(network, privateClusterConfig)"
    

    Substitua:

    Na saída do comando, identifique e registre as seguintes informações para usar nas próximas etapas:

    • network: o nome ou URI da rede VPC do cluster.
    • privateEndpoint: o endereço IPv4 do endpoint particular do plano de controle ou o intervalo CIDR IPv4 delimitado (masterIpv4CidrBlock).
    • peeringName: o nome da conexão de peering de rede VPC usada para conectar a rede VPC do cluster à rede VPC do plano de controle.

    A saída será assim:

    network: cluster-network
    privateClusterConfig:
      enablePrivateNodes: true
      masterGlobalAccessConfig:
        enabled: true
      masterIpv4CidrBlock: 172.16.1.0/28
      peeringName: gke-1921aee31283146cdde5-9bae-9cf1-peer
      privateEndpoint: 172.16.1.2
      publicEndpoint: 34.68.128.12
    
  2. Considere ativar o acesso global do endpoint particular do plano de controle para permitir que os pacotes entrem em qualquer região na rede VPC do cluster. Ativar o acesso global do endpoint particular do plano de controle permite que você se conecte ao endpoint particular usando túneis do Cloud VPN ou anexos da VLAN do Cloud Interconnect localizados em qualquer região, não apenas na região do cluster.

  3. Crie uma rota para o endereço IP privateEndpoint ou o intervalo de endereços IP masterIpv4CidrBlock da outra rede. Como o endereço IP particular do plano de controle sempre se encaixa no masterIpv4CidrBlock intervalo de endereços IPv4, criando uma rota para o privateEndpoint o endereço IP ou o intervalo incluído fornece um caminho para pacotes da outra rede para o endpoint particular do plano de controle se:

    • A outra rede se conecta à rede VPC do cluster usando anexos da VLAN do Cloud Interconnect ou túneis do Cloud VPN que usam rotas dinâmicas (BGP): use uma divulgação de rota personalizada do Cloud Router. Para mais informações, consulte Como divulgar intervalos de IP personalizados na documentação do Cloud Router.

    • A outra rede se conecta à rede VPC do cluster usando túneis da VPN clássica que não usam rotas dinâmicas: é preciso configurar uma rota estática na outra rede do Google Analytics.

  4. Configure a rede VPC do cluster para exportar as rotas personalizadas na relação de peering com a rede VPC do plano de controle. O Google Cloud sempre configura a rede VPC do plano de controle para importar rotas personalizadas da rede VPC do cluster. Essa etapa fornece um caminho para os pacotes do endpoint particular do plano de controle de volta para a outra rede.

    Para ativar a exportação de rota personalizada a partir da rede VPC do cluster, use o seguinte comando:

    gcloud compute networks peerings update PEERING_NAME \
        --network=CLUSTER_VPC_NETWORK \
        --export-custom-routes
    

    Substitua:

    • PEERING_NAME: o nome do peering que conecta a rede VPC do cluster à rede VPC do plano de controle.
    • CLUSTER_VPC_NETWORK: o nome ou URI da rede VPC do cluster;

    Quando a exportação de rota personalizada é ativada para a VPC, criar rotas que se sobrepõem aos intervalos de IP do Google Cloud pode interromper o cluster.

    Para mais detalhes sobre como atualizar a troca de rotas para conexões de peering de rede VPC existentes, consulte Atualizar a conexão de peering.

    As rotas personalizadas na rede VPC do cluster incluem rotas com destinos que são intervalos de endereços IP em outras redes, por exemplo, uma rede local. Para garantir que essas rotas se tornem efetivas como peering de rotas na rede VPC do plano de controle, consulte Destinos compatíveis com a outra rede.

Destinos compatíveis da outra rede

Os intervalos de endereços que a outra rede envia para os Cloud Routers na rede VPC do cluster precisam aderir às seguintes condições:

  • Embora a VPC do cluster possa aceitar uma rota padrão (0.0.0.0/0), a rede VPC do plano de controle sempre rejeita rotas padrão porque já tem uma rota padrão local. Se a outra rede enviar uma rota padrão para sua rede VPC, a outra rede também precisará enviar os destinos específicos dos sistemas que precisam se conectar ao endpoint particular do plano de controle. Para mais detalhes, consulte Ordem de roteamento.

  • Se a rede VPC do plano de controle aceitar rotas que substituem efetivamente uma rota padrão, essas rotas quebrarão a conectividade com as APIs e os serviços do Google Cloud, interrompendo o plano de controle do cluster. Como exemplo representativo, a outra rede não pode divulgar rotas com destinos 0.0.0.0/1 e 128.0.0.0/1. Consulte o ponto anterior para obter uma alternativa.

Monitore os limites do Cloud Router, especialmente o número máximo de destinos exclusivos para rotas aprendidas.

Como proteger um cluster particular com o VPC Service Controls

Para proteger ainda mais os clusters privados do GKE, use o VPC Service Controls.

O VPC Service Controls protege ainda mais os clusters privados do GKE para reduzir o risco de exportação de dados. Ao usá-lo, é possível adicionar projetos a perímetros de serviço. Isso protege recursos e serviços contra solicitações que vêm de fora desses perímetros.

Para saber mais sobre perímetros de serviço, consulte Detalhes e configuração do perímetro de serviço.

Se você usar o Artifact Registry com seu cluster particular do GKE em um perímetro de serviço do VPC Service Controls, precisará configurar o roteamento para o IP virtual restrito para evitar a exfiltração de dados.