Redimensionamento automático de nós

Em clusters do Anthos no VMware (GKE On-Prem), é possível ativar o redimensionamento automático do nó para um cluster. Isso 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 em um cluster de administrador, os nós de complemento no cluster de administrador serão redimensionados de acordo com o número total de nós no cluster de administrador. Para cada cluster de usuário, há um ou mais nós do plano de controle no cluster de administrador. Portanto, à medida que você cria mais clusters de usuário, o número total de nós no cluster de administrador aumenta e os nós de complementos no cluster de administrador são aumentados automaticamente.

Se o redimensionamento automático de nós estiver ativado para um cluster de usuário, os nós do plano de controle para o cluster de usuário serão redimensionados de acordo com o número de nós no cluster. Portanto, à medida que você adiciona mais nós de trabalho ao cluster de usuário, os nós do plano de controle aumentam de tamanho. Lembre-se de que os nós do plano de controle para o cluster de usuário estão no cluster de administrador.

Um cluster de usuário altamente disponível (HA, na sigla em inglês), o cluster de usuário tem três nós de plano de controle no cluster de administrador, e um cluster de usuário não de alta disponibilidade tem um plano de controle. nó no cluster de administrador. Isso requer que o nó seja recriado. Portanto, quando o nó do plano de controle de um cluster de usuário que não é de alta disponibilidade é redimensionado, pode haver uma pequena quantidade de inatividade.

Antes de começar

Essa visualização do redimensionamento automático de nós exige que o Dataplane V2 esteja desativado.

Ativar o redimensionamento de nós para os nós de complementos de um cluster de administrador

No arquivo de configuração do cluster de administrador, defina addonNode.autoResize.enabled como true:

addonNode:
  autoResize:
    enabled: true

Para um novo cluster de administrador, siga as instruções em Criar um cluster de administrador (guia de início rápido) ou Como criar um cluster de administrador.

Para um cluster de administrador atual:

gkectl update admin --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Substitua:

  • ADMIN_CLUSTER_CONFIG: o caminho do arquivo de configuração do cluster de administrador.

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

Ativar o redimensionamento de nós para os nós do plano de controle de um cluster de usuário

No arquivo de configuração do cluster do usuário, defina masterNode.autoResize.enabled como true:

masterNode:
  autoResize:
    enabled: true

Para um novo cluster de usuário, siga as instruções em Criar um cluster de usuário (guia de início rápido) ou Como criar um cluster de usuário.

Para um cluster existente:

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.

Depois que o redimensionamento automático do nó é ativado para um cluster de usuário, qualquer tentativa de alterar a CPU ou a memória de um nó do plano de controle executando gkectl update é rejeitada. Se você quiser usar gkectl update para alterar a CPU ou a memória de um nó do plano de controle do cluster de usuário, desative o redimensionamento automático do nó.

Desativar o redimensionamento de nós para os nós de complemento de um cluster de administrador

No arquivo de configuração do cluster de administrador, defina autoRepair.enabled como false:

Atualize o cluster:

gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG

Desativar o redimensionamento de nós para os nós do plano de controle de um cluster de usuário

No arquivo de configuração do cluster do usuário, defina autoRepair.enabled como false:

Atualize o cluster:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Ao desativar o redimensionamento automático do nó para um cluster de usuário, a CPU e a memória dos nós do plano de controle são reconciliadas para corresponder aos valores de CPU e memória especificados no arquivo de configuração do cluster de usuário.

Registros e eventos

Para encontrar o nome do pod de redimensionamento automático:

kubectl --kubeconfig ADMIN_KUBECONFIG describe deployment auto-resize-controller

O nome do pod tem o formato auto-resize-controller-xxxxx.

Para ver os registros 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 fornecer visibilidade sobre decisões e ações relevantes para o redimensionamento.

Para encontrar os nomes das 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