Como adicionar e gerenciar pools de nós


Nesta página, você vê como adicionar e executar operações em pools de nós que executam os clusters do Google Kubernetes Engine (GKE). Para aprender sobre como os pools de nós funcionam, consulte Pools de nós.

Antes de começar

Antes de começar, verifique se você realizou as tarefas a seguir:

Defina as configurações padrão da gcloud usando um dos métodos a seguir:

  • Use gcloud init se quiser orientações para definir os padrões.
  • Use gcloud config para definir individualmente a região, a zona e o ID do projeto.

Como usar o gcloud init

Se você receber o erro One of [--zone, --region] must be supplied: Please specify location, conclua esta seção.

  1. Execute gcloud init e siga as instruções:

    gcloud init

    Se você estiver usando SSH em um servidor remoto, utilize a sinalização --console-only para impedir que o comando inicie um navegador:

    gcloud init --console-only
  2. Siga as instruções para autorizar a gcloud a usar sua conta do Google Cloud.
  3. Crie uma nova configuração ou selecione uma atual.
  4. Escolha um projeto do Google Cloud.
  5. Escolha uma zona padrão do Compute Engine para clusters zonais ou uma região para clusters regionais ou de Autopilot.

Como usar o gcloud config

  • 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 de Autopilot ou 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 adicionar um pool de nós

gcloud

Para criar um pool de nós, execute o comando gcloud container node-pools create:

gcloud container node-pools create POOL_NAME --cluster CLUSTER_NAME

Para ver a lista completa de opções, consulte a documentação do gcloud container node-pools create.

Uma solicitação node-pools create bem-sucedida retorna as informações do pool de nós:

Creating node pool example-pool...done.
Created [https://container.googleapis.com/v1/projects/kubernetes-engine-docs/zones/us-central1-f/clusters/example-cluster/nodePools/example-pool].
NAME          MACHINE_TYPE   DISK_SIZE_GB  NODE_VERSION
example-pool  e2-medium      100           1.2.4

Você criou o pool de nós. Às vezes, ele é criado com sucesso, mas os comandos gcloud expiram em vez de relatar o status do servidor. Para verificar o status de todos os pools de nós, incluindo aqueles que ainda não foram totalmente provisionados, use o comando a seguir:

gcloud container node-pools list --cluster CLUSTER_NAME

Console

Para adicionar um pool de nós a um cluster atual, execute as etapas a seguir:

  1. Acesse o menu do Google Kubernetes Engine no Console do Cloud.

    Acesse o menu do Google Kubernetes Engine

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

  3. Clique em Adicionar pool de nós.

  4. Configure o pool de nós como quiser.

  5. Clique em Criar para adicionar o pool de nós.

Como visualizar pools de nós em um cluster

gcloud

Para listar todos os pools de nós de um cluster, execute o comando gcloud container node-pools list:

gcloud container node-pools list --cluster CLUSTER_NAME

Para visualizar detalhes sobre um pool de nós específico, execute o comando gcloud container node-pools describe:

gcloud container node-pools describe POOL_NAME \
    --cluster CLUSTER_NAME

Substitua:

  • CLUSTER_NAME: o nome do cluster.
  • POOL_NAME: o nome do pool de nós a ser visualizado.

Console

Para ver os pools de nós de um cluster, siga estas etapas:

  1. Acesse o menu do Google Kubernetes Engine no Console do Cloud.

    Acessar o menu do Google Kubernetes Engine

  2. Na lista de clusters, clique no nome do cluster.

  3. Clique na guia Nós.

  4. Em Pools de nós, clique no nome do pool que você quer visualizar.

Como redimensionar um pool de nós

gcloud

Para redimensionar os pools de nós de um cluster, execute o comando gcloud container clusters resize:

gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \
    --num-nodes NUM_NODES

Substitua:

  • CLUSTER_NAME: o nome do cluster a ser redimensionado.
  • POOL_NAME: o nome do pool de nós a ser redimensionado.
  • NUM_NODES: o número de nós no pool em um cluster zonal. Se você usar clusters regionais ou de várias zonas, NUM_NODES será o número de nós para cada zona em que os pools de nós estão.

Repita este comando para cada pool de nós. Se o cluster tiver apenas um pool de nós, omita a sinalização --node-pool.

Console

Para reescalonar os pools de nós do cluster, siga estas etapas:

  1. Acesse o menu do Google Kubernetes Engine no Console do Cloud.

    Acesse o menu do Google Kubernetes Engine

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

  3. Clique na guia Nós.

  4. Na seção Pool de nós, clique no nome do pool de nós que você quer redimensionar.

  5. Clique em Redimensionar.

  6. No campo Número de nós, insira quantos nós você quer no pool de nós e clique em Redimensionar.

  7. Repita para cada pool de nós conforme necessário.

Como fazer upgrade de um pool de nós

gcloud

Para atualizar todos os nós para a mesma versão do plano de controle, execute o comando gcloud container clusters upgrade:

gcloud container clusters upgrade CLUSTER_NAME

Para atualizar um pool de nós específico, especifique o sinalizador --node-pool:

gcloud container clusters upgrade CLUSTER_NAME --node-pool POOL_NAME

Console

Para fazer upgrade de um pool de nós, siga estas etapas:

  1. Acesse o menu do Google Kubernetes Engine no Console do Cloud.

    Acesse o menu do Google Kubernetes Engine

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

  3. Clique na guia Nós.

  4. Na seção Pools de nós, clique no nome do pool de nós que você quer atualizar.

  5. Clique em Editar.

  6. Em Versão do nó, clique em Alterar.

  7. Selecione a versão de nó desejada.

  8. Clique em Alterar.

Implantar um pod em um pool de nós específico

É possível implantar explicitamente um pod em um pool de nós específico usando um nodeSelector no manifesto do pod. nodeSelector programa pods em nós com um rótulo correspondente.

Todos os pools de nós do GKE têm rótulos com o seguinte formato: cloud.google.com/gke-nodepool: POOL_NAME. Adicione esse rótulo ao campo nodeSelector no seu pod, conforme mostrado no exemplo a seguir:

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    env: test
spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
  nodeSelector:
    cloud.google.com/gke-nodepool: POOL_NAME

Para mais informações, consulte Como atribuir pods a nós.

Como alternativa ao seletor de nós, é possível usar a afinidade de nó. Use essa afinidade se quiser uma regra "soft" em que o pod tenta cumprir a restrição, mas ainda seja programado, mesmo que a restrição não seja atendida. Para mais informações, consulte Afinidade de nó. Também é possível especificar solicitações de recursos nos contêineres.

Como excluir um pool de nós

A exclusão de um pool exclui os nós e as rotas que levam a eles. Todos os pods executados nesses nós são removidos e reprogramados. Se os pods tiverem seletores de nó específicos, poderão permanecer em uma condição não programável se nenhum outro nó no cluster cumprir os critérios.

gcloud

Para excluir um pool de nós, execute o comando gcloud container node-pools delete:

gcloud container node-pools delete POOL_NAME --cluster CLUSTER_NAME

Console

Para excluir um pool de nós, siga estas etapas:

  1. Acesse o menu do Google Kubernetes Engine no Console do Cloud.

    Acesse o menu do Google Kubernetes Engine

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

  3. Clique na guia Nós.

  4. Na seção Pool de nós, clique em ao lado do pool que você quer excluir.

  5. Quando solicitado a confirmar, clique em Excluir.

A seguir