Como redimensionar um cluster de usuário

Redimensionar um cluster de usuário significa adicionar ou remover nós. A adição de nós exige que os endereços IP estejam disponíveis para os novos nós. Para redimensionar um cluster de usuário, altere o número de réplicas no pool de nós.

Para informações sobre limites máximos e mínimos para clusters de usuários, consulte Cotas e limites.

Para mais informações sobre como gerenciar pools de nós, consulte Como criar e gerenciar pools de nós.

Verificar se há endereços IP suficientes disponíveis

Se você pretende ter N nós após o redimensionamento, precisará ter N + 1 endereços IP disponíveis.

Antes de redimensionar um cluster, verifique se você tem endereços IP suficientes. A maneira de fazer a verificação depende do cluster usar um servidor DHCP ou endereços IP estáticos.

DHCP

Se o cluster usar o DHCP, verifique se o servidor DHCP pode fornecer endereços IP suficientes. É necessário que seja possível fornecer pelo menos mais um endereço IP do que o número de nós que estarão no cluster após o redimensionamento.

IPs estáticos

A forma como você verifica se tem endereços IP estáticos suficientes depende de o cluster estar registrado ou não na API GKE On-Prem. Um cluster de usuário será registrado na API GKE On-Prem se uma das seguintes condições for verdadeira:

  • O cluster foi criado usando o console do Google Cloud, a Google Cloud CLI (CLI gcloud) ou o Terraform, que registra automaticamente o cluster na API GKE On-Prem. Coletivamente, esses aplicativos padrão são chamados de clientes da API GKE On-Prem.

  • O comando gkectl enroll cluster foi executado em um cluster de usuário, que configura ele para ser gerenciado pela API do GKE On-Prem.

Se a API GKE On-Prem estiver gerenciando um cluster de usuário, use o Console para contar o número de IPs e adicionar mais IPs, se necessário. Se o cluster de usuário não for gerenciado pela API GKE On-Prem, será possível executar gkectl update cluster primeiro, o que verifica se você alocou endereços IP suficientes no cluster. Caso contrário, você encontrará na mensagem de erro o número necessário de endereços IP extras.

Adicionar IPs estáticos

Se o cluster for gerenciado pela API GKE On-Prem, use o Console para adicionar mais endereços IP. Caso contrário, use a linha de comando na estação de trabalho de administrador.

Console

  1. No console, acesse a página de visão geral dos clusters do Google Kubernetes Engine.

    Acesse os clusters do GKE

  2. Selecione o projeto do Cloud em que o cluster de usuário está.

  3. Na lista de clusters, clique no nome dele e em Mais detalhes no painel Detalhes.

  4. Na seção Rede, clique em Editar.

  5. Na caixa de diálogo Adicionar outros endereços IP estáticos, clique em Adicionar endereço IP. Digite o endereço IP e, opcionalmente, um nome do host. Repita quantas vezes forem necessárias. Quando terminar, clique em Concluir.

Linha de comando

  1. Abra o arquivo de bloco de IPs do cluster de usuário para edição.

  2. Verifique se todos os endereços IP que você pretende usar para o cluster de usuário estão incluídos no arquivo de bloco de IPs. O arquivo de bloco IP precisa ter pelo menos mais um endereço IP do que o número de nós que estarão no cluster após o redimensionamento.

  3. Para ver os endereços reservados para um cluster de usuário:

    kubectl get cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
      --namespace USER_CLUSTER_NAME USER_CLUSTER_NAME --output yaml
    

    Substitua:

    • ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador
    • USER_CLUSTER_NAME: o nome do cluster do usuário
  4. Adicione quantos endereços IP estáticos adicionais ao bloco correspondente forem necessários e execute gkectl update cluster.

Veja um exemplo de um arquivo de bloco de IP que tem quatro endereços IP e os nomes do host correspondentes:

hostconfig:
dns: 172.16.255.1
tod: 216.239.35.0
blocks:
- netmask: 255.255.248.0
  gateway: 21.0.135.254
  ips:
  - ip: 21.0.133.41
    hostname: user-node-1
  - ip: 21.0.133.50
    hostname: user-node-2
  - ip: 21.0.133.56
    hostname: user-node-3
  - ip: 21.0.133.47
    hostname: user-node-4

Redimensionar o cluster

Console

  1. No console, acesse a página de visão geral dos clusters do Google Kubernetes Engine.

    Acesse os clusters do GKE

  2. Selecione o projeto do Cloud em que o cluster de usuário está.

  3. Na lista de clusters, clique no nome dele e em Mais detalhes no painel Detalhes.

  4. Clique na guia Nós.

  5. Clique no nome do pool de nós que você quer redimensionar.

  6. Clique em Redimensionar.

  7. No campo Nós, insira o número de nós que você quer no pool de nós e clique em Concluído.

  8. Clique em para voltar à página anterior.

  9. O Console exibe Status do cluster: alterações em andamento. Clique em Mostrar detalhes para ver a Condição do status do recurso e as Mensagens de status.

Linha de comando

No arquivo de configuração do cluster de usuário, atualize o valor do campo replicas em um ou mais dos elementos de nodePools.

Redimensionar o cluster

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Substitua:

  • ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador

  • USER_CLUSTER_CONFIG: o caminho do arquivo de configuração do cluster de usuário

Verifique se o redimensionamento foi concluído:

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG describe machinedeployments NODE_POOL_NAME | grep Replicas

Substitua:

  • USER_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de usuário

  • NODE_POOL_NAME: o nome do pool de nós que você redimensionou.

Solução de problemas

Consulte Solução de problemas na criação e no upgrade de clusters.