Clusters particulares

Nesta página, você vê como os clusters particulares funcionam no Google Kubernetes Engine (GKE). Você também aprende como criá-los e gerenciá-los.

Com os clusters particulares, você isola os nós, evitando a conectividade de entrada e de saída com a Internet pública. Isso é possível porque os nós têm apenas endereços IP internos RFC 1918 (em inglês).

Se você quiser fornecer acesso de saída à Internet em determinados nós particulares, use o Cloud NAT ou gerencie o próprio gateway NAT.

Mesmo que os endereços IP do nó sejam particulares, os clientes externos podem acessar Service no cluster. Por exemplo, é possível criar um Service do tipo LoadBalancer, e os clientes externos podem chamar o endereço IP do balanceador de carga. Se preferir, é possível criar um Service do tipo NodePort e gerar uma Ingress. O GKE usa informações do Service e da Ingress para configurar um balanceador de carga HTTP(S). Depois, os clientes externos podem chamar o endereço IP externo do balanceador de carga HTTP(S).

Como usar o Acesso privado do Google em clusters particulares

Por padrão, o Acesso privado do Google está ativado. Ele fornece aos nós particulares às respectivas cargas de trabalho acesso de saída limitado aos serviços e APIs do Google Cloud por meio da rede particular do Google. Por exemplo, com o Acesso privado do Google, os nós particulares recebem imagens de contêiner do Google Container Registry e enviam registros ao Stackdriver.

Mestre em clusters particulares

Todos os clusters do GKE têm um servidor de API do Kubernetes chamado mestre. O mestre está em um projeto do Google que fica separado do seu. Ele é executado em uma VM que está em uma rede VPC no projeto do Google. O cluster regional tem vários mestres, e cada um deles é executado na própria VM.

Nos clusters particulares, a rede VPC do mestre e do cluster são conectadas com o peering de rede VPC. A rede VPC contém os nós do cluster, e uma rede VPC separada do Google Cloud inclui o mestre do cluster. A rede VPC do mestre está em um projeto controlado pelo Google. Sua rede VPC e a do mestre são conectadas usando o peering de rede VPC. O tráfego entre os nós e o mestre é completamente roteado usando endereços IP internos.

Reutilização do peering de rede VPC

Todos os clusters particulares recém-criados reutilizam automaticamente as conexões atuais de peering de rede VPC. O primeiro cluster particular zonal ou regional que você cria gera uma nova conexão de peering de rede VPC. Outros clusters particulares na mesma zona, região e rede podem usar o mesmo peering, sem a necessidade de criar mais conexões de peering de rede VPC. Por exemplo, se você criar dois clusters particulares de zona única em us-east1-b e três clusters particulares regionais em asia-east1, apenas duas conexões de peering serão geradas. No entanto, se você criar um cluster regional e um zonal na mesma região, como asia-east1 e asia-east1-a, duas conexões de peering diferentes serão geradas. É possível verificar se o cluster particular reutiliza as conexões.

Endpoints em clusters particulares

O mestre de um cluster particular tem um endpoint único e outro público. Já o de um cluster não particular tem apenas um endpoint público.

Endpoint particular
O endpoint particular é um endereço IP interno na rede VPC do mestre. Em um cluster particular, os nós sempre se comunicam com o endpoint do mestre. Dependendo da sua configuração, é possível gerenciar o cluster com ferramentas que também se conectam ao endpoint particular, como a kubectl. As VMs que usam a mesma sub-rede que o cluster particular também podem acessar o endpoint particular.
Endpoint público
Ele é o endereço IP externo do mestre. Por padrão, ferramentas como a kubectl se comunicam com o mestre no endpoint público. Use as redes autorizadas do mestre para controlar o acesso a esse endpoint. Também é possível desativar o acesso ao endpoint público.

Acesso aos endpoints do cluster

Use uma das configurações a seguir para controlar o nível de acesso aos endpoints.

  • Acesso ao endpoint público desativado: é a opção mais segura porque impede todo o acesso da Internet ao mestre. Ela é mais adequada se você configurou a rede local para se conectar ao Google Cloud usando o Cloud Interconnect e o Cloud VPN. Essas tecnologias conectam a rede da empresa à sua VPC sem precisar que o tráfego passe pela Internet pública.

    Se você desativar o acesso ao endpoint público, será necessário configurar as redes autorizadas do mestre no endpoint particular. Quando você não faz isso, só é possível se conectar ao endpoint particular a partir dos nós do cluster ou das VMs na mesma sub-rede que o cluster. Além disso, as redes autorizadas do mestre precisam ser endereços IP RFC 1918.

  • Acesso ao endpoint público ativado, redes autorizadas do mestre ativadas: ao usar clusters particulares com as redes autorizadas do mestre ativadas, você tem acesso restrito ao mestre a partir dos endereços IP de origem definidos. Essa é uma ótima opção se você não tem uma infraestrutura de VPN ou se tem usuários remotos ou filiais que se conectam pela Internet pública em vez da VPN corporativa e do Cloud Interconnect ou Cloud VPN.

  • Acesso ao endpoint público ativado, redes autorizadas do mestre desativadas: é a opção padrão e também a menos restritiva. Como as redes autorizadas do mestre não estão ativadas, é possível administrar o cluster de qualquer endereço IP de origem. Para isso, você precisa fazer a autenticação.

Veja na tabela a seguir um resumo das diferentes maneiras de acessar os endpoints.

Acesso ao endpoint público desativado Acesso ao endpoint público ativado,
redes autorizadas do mestre ativadas.
Acesso ao endpoint público ativado,
redes autorizadas do mestre desativadas
Segurança Maior nível de acesso restrito ao mestre. O acesso de cliente ao endpoint público do mestre está bloqueado. O mestre é acessado somente por endereços IP internos. Os endereços IP internos e externos definidos por você têm acesso restrito ao mestre. Qualquer endereço IP tem acesso ao mestre.
Etapas de configuração detalhadas Como criar um cluster particular sem acesso de cliente ao endpoint público. Como criar um cluster particular com acesso limitado ao endpoint público. Como criar um cluster particular com acesso irrestrito ao endpoint público.
Opções de configuração do Console do Cloud Selecione Ativar cluster nativo de VPC.
Selecione Cluster particular.
Desmarque Acessar o mestre usando o endereço IP externo dele.
A opção Ativar redes autorizadas do mestre é habilitada automaticamente.
Selecione Ativar cluster nativo de VPC.
Selecione Cluster particular.
Selecione Acessar o mestre usando o endereço IP externo dele.
Selecione Ativar redes autorizadas do mestre.
Selecione Ativar cluster nativo de VPC.
Selecione Cluster particular.
Selecione Acessar o mestre usando o endereço IP externo dele.
Desmarque Ativar redes autorizadas do mestre.
Sinalizações gcloud de criação de cluster --enable-ip-alias
--enable-private-nodes
--enable-private-endpoint
--enable-master-authorized-networks
--enable-ip-alias
--enable-private-nodes
--enable-master-authorized-networks
--enable-ip-alias
--enable-private-nodes
--no-enable-master-authorized-networks
Comunicação entre nós e mestre

Os nós sempre entram em contato com o mestre usando o endpoint particular.

Redes mestres autorizadas

Necessárias para acessar o mestre a partir de endereços IP internos que não sejam nós e pods.

Você não precisa autorizar explicitamente o intervalo de nós do endereço IP interno. Os endereços no intervalo principal de endereços IP da sub-rede do cluster sempre têm autorização para se comunicar com o endpoint particular.

Use --master-authorized-networks para especificar outros endereços IP internos que podem acessar o mestre. Não é possível incluir endereços IP externos na lista de redes autorizadas do mestre porque o acesso ao endpoint público está desativado.

Necessárias para acessar o mestre a partir de endereços IP externos e internos que não sejam nós e pods.

Use --master-authorized-networks para especificar endereços IP externos e internos que não sejam nós e pods, mas que possam acessar o mestre.

Não utilizado.

Se você ativar o acesso ao endpoint público do mestre sem habilitar as redes autorizadas, esse acesso não será restrito.

Acesso usando a kubectl

A partir dos nós: sempre usa o endpoint particular. A kubectl precisa ser configurada para usar o endpoint particular.

De outras VMs na rede VPC do cluster: outras VMs podem usar a kubectl para se comunicar com o endpoint particular somente se estiverem na mesma região do cluster e seus endereços IP internos estiverem incluídos na lista de redes autorizadas do mestre ou localizados na mesma sub-rede que os nós do cluster. A kubectl precisa ser configurada para usar o endpoint particular.

A partir de endereços IP públicos: nunca.

A partir dos nós: sempre usa o endpoint particular. A kubectl precisa ser configurada para usar o endpoint particular.

De outras VMs na rede VPC do cluster: outras VMs podem usar a kubectl para se comunicar com o endpoint particular somente se estiverem na mesma região do cluster e seus endereços IP internos estiverem incluídos na lista de redes autorizadas do mestre ou localizados na mesma sub-rede que os nós do cluster. A kubectl precisa ser configurada para usar o endpoint particular.

De endereços IP públicos: máquinas com endereços IP públicos podem usar a kubectl para se comunicar com o endpoint público somente se os respectivos endereços estiverem incluídos na lista de redes autorizadas do mestre. Isso inclui máquinas fora do Google Cloud e das VMs do Google Cloud com endereços IP externos.

A partir dos nós: sempre usa o endpoint particular. A kubectl precisa ser configurada para usar o endpoint particular.

De outras VMs na rede VPC do cluster: outras VMs podem usar a kubectl para se comunicar com o endpoint particular somente se estiverem na mesma região do cluster. A kubectl precisa ser configurada para usar o endpoint particular.

De endereços IP públicos: qualquer máquina com um endereço IP público pode usar a kubectl para se comunicar com o endpoint público. Isso inclui máquinas fora do Google Cloud e das VMs do Google Cloud com endereços IP externos.

A seguir