O dimensionamento manual de um pool de nós permite responder a mudanças na demanda de carga de trabalho ou controlar custos ao definir uma contagem explícita de nós-alvo. Quando os requisitos de recursos da aplicação aumentam, escale horizontalmente para adicionar capacidade. Quando a demanda diminui, reduza a escala para diminuir gastos.
Pré-requisitos
Antes de começar, verifique se você possui:
Um cluster registrado no ACK One conectado a um cluster Kubernetes externo. Consulte Crie um cluster registrado no ACK One
Um pool de nós com um script personalizado configurado. Consulte Crie um pool de nós
Como funciona
Os clusters registrados no ACK One dimensionam pools de nós ajustando o valor de Expected Nodes, que representa o número-alvo de nós mantidos pelo pool ao atingir o estado estável.
Escalar horizontalmente: Defina Expected Nodes com um valor superior à contagem atual. O Auto Scaling cria instâncias do Elastic Compute Service (ECS) e, em seguida, o ACK as inicializa e adiciona ao cluster. Se a criação da instância falhar, o Auto Scaling tenta novamente automaticamente até atingir o alvo.
Reduzir a escala: Defina Expected Nodes com um valor inferior à contagem atual. O Auto Scaling remove nós com base na política de dimensionamento configurada.
A redução de escala via ajuste de Expected Nodes remove os nós imediatamente, sem drená-los previamente. Para drenar os nós antes da remoção, utilize o método Remover nós de um pool de nós.
Processo de scale-out
Crie instâncias ECS — O Auto Scaling cria as instâncias ECS. O status do pool de nós muda para Expanding e, após a criação das instâncias, passa para Activated.
-
Adicionar nós ao cluster — O ACK executa o script
cloud-initem cada nova instância para inicializar e registrar o nó. Os logs operacionais são salvos em/var/log/messagesem cada nó.NotaApós um nó ingressar com sucesso no pool, suas entradas de log em
/var/log/messagessão excluídas. Apenas logs de falha são retidos. Caso um nó falhe ao ingressar, os dados de log são sincronizados com o resultado da tarefa e podem ser visualizados na aba Cluster Tasks da página de detalhes do cluster.ImportanteAs famílias de ECS Bare Metal Instance aceleradas por GPU ebmgn7 e ebmgn7e não conseguem excluir automaticamente sua configuração de Multi-Instance GPU (MIG). Ao adicionar esses tipos de instância, o ACK redefine a configuração MIG retida. Esse processo pode consumir tempo e causar falha no ingresso da instância no cluster. Consulte O que fazer se eu falhar ao adicionar instâncias ECS Bare Metal? e a referência da família de instâncias ebmgn7e.
Comportamento de scale-in por política de dimensionamento
|
Política de dimensionamento |
Comportamento de remoção de nós |
|
Priority |
Remove primeiro as instâncias ECS criadas mais recentemente |
|
Distribution Balancing |
Remove as instâncias criadas mais recentemente, mantendo o equilíbrio da contagem de nós entre as zonas |
|
Cost Optimization |
Remove instâncias em ordem decrescente de preço de vCPU |
Faturamento durante o scale-out
O faturamento baseia-se nas instâncias realmente criadas. Por exemplo, considere um pool de nós configurado com dois tipos de instância, faturamento pay-as-you-go e política de dimensionamento Priority: se 2 nós do tipo A forem adicionados na zona do vSwitch de primeira prioridade e, devido à insuficiência de recursos do tipo A, 3 nós do tipo B forem adicionados na zona de segunda prioridade, o custo horário será:
(Preço unitário do Nó A × 2 × 1) + (Preço unitário do Nó B × 3 × 1)
Consulte Número esperado de instâncias para obter detalhes sobre como o Auto Scaling gerencia a contagem de instâncias.
Dimensionar um pool de nós
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique em nome do cluster desejado. No painel de navegação à esquerda, escolha Nodes > Node Pools.
Localize o pool de nós a ser dimensionado e clique em Scale na coluna Actions.
Defina o valor de Expected Nodes e conclua a configuração conforme solicitado.
Após o envio, o status do pool de nós na lista muda sequencialmente. Utilize o status para acompanhar o progresso:
|
Status |
Significado |
|
Updating |
Alteração de configuração enviada |
|
Scaling Out |
Adicionando nós ao pool de nós |
|
Removing |
Removendo nós do pool de nós |
|
Active |
Dimensionamento concluído |
Se o grupo de segurança do cluster bloquear o acesso a 100.64.0.0/10, novos nós não conseguirão ingressar no cluster.
Limitação para instâncias subscription
A redução de escala não libera instâncias ECS do tipo subscription. Para liberá-las, converta-as primeiro para o faturamento pay-as-you-go no console do ECS e, em seguida, faça a liberação. Consulte Alterar o método de faturamento de subscription para pay-as-you-go.
Próximos passos
Remover nós de um pool de nós — Remove nós específicos com drenagem controlada
Melhores práticas para nós e pools de nós — Conjuntos de implantação, pools de nós baseados em instâncias preemptíveis e mais