No Google Distributed Cloud, pode ativar o redimensionamento automático de nós para um cluster. A alteração do tamanho significa que os recursos de CPU e memória atribuídos a um nó são ajustados.
Se o redimensionamento automático de nós estiver ativado para um cluster de administrador, os nós suplementares no cluster de administrador são redimensionados de acordo com o número total de nós no cluster de administrador. Para cada cluster de utilizadores, existem um ou mais nós do plano de controlo no cluster de administrador. Assim, à medida que cria mais clusters de utilizadores, o número total de nós no cluster de administrador aumenta e o tamanho dos nós suplementares no cluster de administrador aumenta automaticamente.
Se a alteração automática do tamanho dos nós estiver ativada para um cluster de utilizadores, o tamanho dos nós do plano de controlo para o cluster de utilizadores é alterado de acordo com o número de nós no cluster de utilizadores. Assim, à medida que adiciona mais nós de trabalho ao cluster de utilizadores, o tamanho dos nós do plano de controlo aumenta. Lembre-se de que os nós do plano de controlo para o cluster de utilizadores estão no cluster de administrador.
Um cluster de utilizadores de alta disponibilidade (HA), o cluster de utilizadores tem três nós do plano de controlo no cluster de administrador e um cluster de utilizadores não HA tem um nó do plano de controlo no cluster de administrador. A alteração do tamanho de um nó requer que o nó seja recriado. Assim, quando o nó do plano de controlo de um cluster de utilizadores sem HA é redimensionado, pode haver um pequeno período de inatividade.
Nos clusters avançados, o redimensionamento automático de nós é suportado na versão 1.33 e superior do Google Distributed Cloud, mas não é suportado nas versões 1.31 e 1.32.
Ative a alteração do tamanho dos nós para os nós de suplementos de um cluster de administrador
Execute os passos nesta secção apenas se o cluster de administrador tiver nós suplementares. Se um cluster de administrador tem nós de suplementos depende da configuração específica e da versão, da seguinte forma:
- Clusters de administrador não de HA: os clusters de administrador não de HA têm um nó do plano de controlo e dois nós de suplemento.
- Clusters de administrador de HA:
- Versão 1.16 e inferior: os clusters de administrador de HA têm três nós do plano de controlo e dois nós de suplemento.
- Versão 1.28 e superior: os clusters de administrador de HA não têm nós de suplementos. Os três nós são todos nós do plano de controlo.
Para determinar se o cluster tem nós suplementares, execute o seguinte comando:
kubectl get nodes --kubeconfig ADMIN_CLUSTER_KUBECONFIG'
Substitua ADMIN_CLUSTER_KUBECONFIG
pelo caminho do ficheiro kubeconfig do cluster de administrador.
Se o cluster tiver nós suplementares, ative a alteração do tamanho dos nós para os nós suplementares, da seguinte forma:
No ficheiro de configuração do cluster de administrador,
defina addonNode.autoResize.enabled
como true
:
addonNode: autoResize: enabled: true
Para um novo cluster de administrador, conclua as instruções em Criar um cluster de administrador.
Para um cluster de administrador existente:
gkectl update admin --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Substitua o seguinte:
ADMIN_CLUSTER_CONFIG: o caminho do ficheiro de configuração do cluster de administrador
ADMIN_CLUSTER_KUBECONFIG: o caminho do ficheiro kubeconfig do cluster de administrador
Ative a alteração do tamanho dos nós para os nós do plano de controlo de um cluster de utilizador
No ficheiro de configuração do cluster de utilizadores,
defina masterNode.autoResize.enabled
como true
:
masterNode: autoResize: enabled: true
Para um novo cluster de utilizadores, conclua as instruções em Criar um cluster de utilizadores.
Para um cluster existente:
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 administrador
USER_CLUSTER_CONFIG: o caminho do ficheiro de configuração do cluster de utilizadores
Depois de ativar a alteração automática do tamanho dos nós para um cluster de utilizador, qualquer tentativa de alterar a CPU ou a memória de um nó do plano de controlo através da execução de gkectl update
é rejeitada. Se quiser usar gkectl update
para alterar a CPU ou a memória de um nó do plano de controlo do cluster de utilizadores, tem de desativar o redimensionamento automático de nós.
Desative a alteração do tamanho dos nós para os nós suplementares de um cluster de administrador
No ficheiro de configuração do cluster de administração, defina addonNode.autoResize.enabled
como false
:
addonNode: autoResize: enabled: false
Atualize o cluster:
gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
Desative a alteração do tamanho dos nós para os nós do plano de controlo de um cluster de utilizador
No ficheiro de configuração do cluster de utilizadores,
defina masterNode.autoResize.enabled
como false
:
masterNode: autoResize: enabled: false
Atualize o cluster:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Quando desativa a alteração automática do tamanho dos nós para um cluster de utilizadores, a CPU e a memória dos nós do plano de controlo são reconciliadas para corresponder aos valores de CPU e memória especificados no ficheiro de configuração do cluster de utilizadores.
Registos e eventos
Para encontrar o nome do pod de redimensionamento automático:
kubectl --kubeconfig ADMIN_KUBECONFIG describe deployment auto-resize-controller
O nome do agrupamento tem o formato auto-resize-controller-xxxxx
.
Para ver os registos do pod de redimensionamento automático:
kubectl --kubeconfig ADMIN_KUBECONFIG logs AUTO_RESIZE_POD_NAME
O controlador de redimensionamento automático gera eventos nos objetos MachineDeployment para dar visibilidade às decisões e ações relevantes para o redimensionamento.
Para encontrar os nomes dos MachineDeployments:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machinedeployments --all-namespaces
Para ver os eventos:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe machinedeployment USER_CONTROL_PLANE_NODE_MACHINE_DEPLOYMENT kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe machinedeployment ADMIN_ADDON_NODE_MACHINE_DEPLOYMENT