Redimensionar um cluster de utilizadores significa adicionar ou remover nós. A adição de nós requer que os endereços IP estejam disponíveis para os novos nós. Pode redimensionar um cluster de utilizadores alterando o número de réplicas no conjunto de nós.
Para obter informações sobre os limites máximos e mínimos para clusters de utilizadores, consulte o artigo Limites de escalabilidade.
Para obter informações sobre a gestão de conjuntos de nós, consulte o artigo Criar e gerir conjuntos de nós.
Verifique se existem endereços IP suficientes disponíveis
Se pretender ter N nós após a alteração do tamanho, tem de ter N + 1 endereços IP disponíveis.
Antes de redimensionar um cluster, verifique se tem endereços IP suficientes. A forma como faz a validação depende de o cluster usar um servidor DHCP ou endereços IP estáticos.
DHCP
Se o cluster usar DHCP, verifique se o servidor DHCP pode fornecer endereços IP suficientes. Tem de poder fornecer, pelo menos, mais um endereço IP do que o número de nós que vão estar no cluster após a alteração do tamanho.
IPs estáticos
A forma como verifica se tem endereços IP estáticos suficientes depende de o cluster estar inscrito na API GKE On-Prem. Um cluster de utilizadores está inscrito na API GKE On-Prem se uma das seguintes condições for verdadeira:
O cluster foi criado através da Google Cloud consola, da CLI do Google Cloud (CLI gcloud) ou do Terraform, que inscreve automaticamente o cluster na API GKE On-Prem. Em conjunto, estas aplicações padrão são denominadas clientes da API GKE On-Prem.
O comando
gkectl enroll cluster
foi executado num cluster de utilizadores, o que o configura para ser gerido pela API GKE On-Prem.
Se a API GKE On-Prem estiver a gerir um cluster de utilizadores, use a consola para contar o número de IPs e adicione mais IPs, se necessário.
Se o cluster de utilizadores não for gerido pela API GKE On-Prem, pode executar gkectl update cluster
primeiro, o que verifica se atribuiu endereços IP suficientes no cluster. Caso contrário, pode encontrar o número de endereços IP adicionais necessários na mensagem de erro.
Adicione IPs estáticos
Se o cluster for gerido pela API GKE On-Prem, use a consola para adicionar mais endereços IP. Caso contrário, use a linha de comandos na sua estação de trabalho de administração.
Consola
Na consola, aceda à página Vista geral dos clusters do Google Kubernetes Engine.
Selecione o Google Cloud projeto no qual o cluster de utilizadores se encontra.
Na lista de clusters, clique no nome do cluster e, de seguida, clique em Mais detalhes no painel Detalhes.
Na secção Rede, clique em
Editar.Na caixa de diálogo Adicionar endereços IP estáticos adicionais, clique em Adicionar endereço IP. Introduza o endereço IP e, opcionalmente, um nome de anfitrião. Repita estes passos conforme necessário. Quando terminar, clique em Concluído.
Linha de comandos
Abra o ficheiro de bloco de IP do cluster de utilizadores para edição.
Certifique-se de que todos os endereços IP que pretende usar para o cluster de utilizadores estão incluídos no ficheiro de bloqueio de IP. O ficheiro de bloco de IPs deve ter, pelo menos, mais um endereço IP do que o número de nós que vão estar no cluster após a alteração do tamanho.
Para ver os endereços reservados para um cluster de utilizadores:
kubectl get cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --namespace USER_CLUSTER_NAME USER_CLUSTER_NAME --output yaml
Substitua o seguinte:
ADMIN_CLUSTER_KUBECONFIG
: o caminho do ficheiro kubeconfig do cluster de administradorUSER_CLUSTER_NAME
: o nome do cluster de utilizadores
Adicione tantos endereços IP estáticos adicionais ao bloco correspondente quanto necessário e, em seguida, execute
gkectl update cluster
.
Segue-se um exemplo de um ficheiro de bloqueio de IP com quatro endereços IP e os nomes de anfitrião 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
Redimensione o cluster
Consola
Na consola, aceda à página Vista geral dos clusters do Google Kubernetes Engine.
Selecione o Google Cloud projeto no qual o cluster de utilizadores se encontra.
Na lista de clusters, clique no nome do cluster e, de seguida, clique em Mais detalhes no painel Detalhes.
Clique no separador Nós.
Clique no nome do conjunto de nós que quer redimensionar.
Clique em
Redimensionar.No campo Nodes, introduza o número de nós que quer no conjunto de nós e, de seguida, clique em Done.
Clique em
para voltar à página anterior.A consola apresenta Estado do cluster: alterações em curso. Clique em Mostrar detalhes para ver a condição do estado do recurso e as mensagens de estado.
Linha de comandos
No ficheiro de configuração do cluster de utilizadores, atualize o valor do campo replicas
num ou mais elementos nodePools
.
Redimensionar o cluster:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Substitua o seguinte:
ADMIN_CLUSTER_KUBECONFIG
: o caminho do ficheiro kubeconfig do cluster de administradorUSER_CLUSTER_CONFIG
: o caminho do ficheiro de configuração do cluster de utilizadores
Verifique se o redimensionamento foi bem-sucedido:
Se o cluster avançado não estiver ativado:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes kubectl --kubeconfig USER_CLUSTER_KUBECONFIG describe machinedeployments NODE_POOL_NAME | grep Replicas
Se o cluster avançado estiver ativado
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe nodepoolclaim -n USER_CLUSTER_NAMESPACE NODE_POOL_NAME | grep "Node Count"
Substitua o seguinte:
ADMIN_CLUSTER_KUBECONFIG
: o caminho do ficheiro kubeconfig do cluster de administradorUSER_CLUSTER_KUBECONFIG
: o caminho do ficheiro kubeconfig do cluster de utilizadoresNODE_POOL_NAME
: o nome do node pool cujo tamanho alterou.USER_CLUSTER_NAMESPACE
: o espaço de nomes do cluster de utilizadores cujo tamanho alterou.
Resolução de problemas
Consulte o artigo Resolução de problemas de criação e atualização de clusters.