Rotação de IP do plano de controle

Esta página explica como realizar uma rotação de IP para seu plano de controle no Google Kubernetes Engine.

Visão geral

É possível executar uma rotação de IP para alterar o endereço IP que o mestre do Kubernetes do cluster usa para atender a solicitações da Kubernetes API.

A rotação de IP também altera o certificado SSL e a autoridade de certificação do cluster. Portanto, não há uma conexão externamente visível entre o endereço anterior e o novo.

Antes de começar

Prepare-se para a tarefa tomando as seguintes medidas:

  • Verifique se você ativou a API do Google Kubernetes Engine.
  • Ativar a API do Google Kubernetes Engine
  • Verifique se o SDK do Cloud está instalado.
  • Defina o ID do projeto padrão:
    gcloud config set project [PROJECT_ID]
  • Se você estiver trabalhando com clusters zonais, defina a zona do Compute padrão:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • Se você estiver trabalhando com clusters regionais, defina a região do Compute padrão:
    gcloud config set compute/region [COMPUTE_REGION]
  • Atualize gcloud para a versão mais recente:
    gcloud components update

Como a rotação de IP funciona

Uma rotação de IP é um processo de várias etapas.

  • Quando você inicia uma rotação de IP, o mestre do cluster começa a atender ao novo endereço IP além do endereço IP original.
  • Depois de iniciar uma rotação, atualize os clientes de API do cluster, como máquinas de desenvolvimento usando a interface de linha de comando kubectl, para começar a se comunicar com o mestre no novo endereço IP.
  • Quando você completa a rotação, o mestre deixa de atender ao tráfego no endereço IP anterior.

Como fazer uma rotação de IP

As seções a seguir explicam como executar uma rotação de IP.

Como iniciar a rotação

Para iniciar uma rotação de IP, execute o seguinte comando:

gcloud container clusters update [CLUSTER_NAME] --start-ip-rotation

em que [CLUSTER_NAME] é o nome do cluster

Este comando configura o mestre do cluster para atender a dois endereços IP: o original e um novo. Isso gera um curto período de inatividade para a API do cluster.

O comando retorna a seguinte saída:


This will start an IP Rotation on cluster [CLUSTER-NAME].
The master will be updated to serve on a new IP address in addition to
the current IP address. GKE will then recreate all
nodes to point to the new IP address. This operation is
long-running and will block other operations on the cluster (including
delete) until it has run to completion.
Do you want to continue (Y/n)?

Depois de confirmar, deixe o shell aberto até que a operação seja concluída.

Depois que o mestre for reconfigurado, o GKE atualizará automaticamente os nós do cluster para usar o novo endereço IP. Cada pool de nós está marcado como "requer recriação". O GKE não finaliza a rotação de IP até que a recriação automática seja concluída.

Como inspecionar a rotação

Para monitorar a operação de atualização, execute o seguinte comando:

gcloud container operations list --filter="UPGRADE_NODES RUNNING"

Esse comando retorna o código da operação de atualização.

Para pesquisar a operação, passe o código da operação para o seguinte comando:

gcloud container operations wait [OPERATION_ID]

Os pools de nós são recriados um a um, e cada um tem uma operação própria. Se tiver vários pools de nós, é possível usar as instruções acima para pesquisar cada operação.

Como atualizar clientes de API

Depois que a rotação de IP tiver sido iniciada, atualize todos os clientes da API fora do cluster para apontar para o novo endereço, como kubectl nas máquinas do desenvolvedor.

Para atualizar seus clientes de API, execute o seguinte comando para cada cliente:

gcloud container clusters get-credentials [CLUSTER_NAME]

Como concluir a rotação

Para concluir a rotação, execute o seguinte comando:

gcloud container clusters update [CLUSTER_NAME] --complete-ip-rotation

O comando retorna a seguinte saída:

This will complete the in-progress IP Rotation on cluster [CLUSTER_NAME].
The master will be updated to stop serving on the old IP address and only
serve on the new IP address. Make sure all API clients have been updated
to communicate with the new IP address (e.g. by running `gcloud container
clusters get-credentials --project [PROJECT-ID] --zone [COMPUTE-ZONE]
[CLUSTER-NAME]`). This operation is long-running and will
block other operations on the cluster (including delete) until it has
run to completion.

Esse comando configura o mestre do cluster para atender apenas ao novo endereço IP. Isso gera um curto período de inatividade para a API do cluster.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Kubernetes Engine