Escalar um StatefulSet

Esta tarefa mostra como escalar um StatefulSet. Escalar um StatefulSet refere-se a aumentar ou diminuir o número de réplicas.

Antes de você começar

  • Os StatefulSets estão disponíveis apenas no Kubernetes na versão 1.5 ou superior. Para verificar sua versão do Kubernetes, execute kubectl version.

  • Nem todas as aplicações com estado escalam de forma adequada. Se você não tem certeza se deve escalar seus StatefulSets, consulte Conceitos de StatefulSet ou Tutorial de StatefulSet para mais informações.

  • Você deve realizar o redimensionamento apenas quando tiver certeza de que o cluster da sua aplicação com estado está completamente íntegro.

Escalando StatefulSets

Use kubectl para escalar StatefulSets

Primeiro, encontre o StatefulSet que você deseja escalar:

kubectl get statefulsets <stateful-set-name>

Altere o número de réplicas do seu StatefulSet:

kubectl scale statefulsets <stateful-set-name> --replicas=<new-replicas>

Faça atualizações in-place nos seus StatefulSets

Alternativamente, você pode fazer atualizações in-place em seus StatefulSets.

Se o seu StatefulSet foi criado inicialmente com kubectl apply, atualize o .spec.replicas dos manifestos do StatefulSet e, em seguida, execute um kubectl apply:

kubectl apply -f <stateful-set-file-updated>

Caso contrário, edite esse campo com kubectl edit:

kubectl edit statefulsets <stateful-set-name>

Ou use kubectl patch:

kubectl patch statefulsets <stateful-set-name> -p '{"spec":{"replicas":<new-replicas>}}'

Solução de problemas

Reduzir o número de réplicas não funciona corretamente

Você não pode reduzir o número de réplicas de um StatefulSet enquanto qualquer um dos Pods com estado que ele gerencia não estiver íntegro. A redução do número de réplicas só ocorre depois que esses Pods com estado estiverem em execução e prontos.

Se spec.replicas > 1, o Kubernetes não consegue determinar o motivo de um Pod com estado não estar íntegro. Isso pode ser resultado de uma falha permanente ou de uma falha transitória. Uma falha transitória pode ser causada por uma reinicialização necessária devido a uma atualização ou manutenção.

Se o Pod não estiver íntegro devido a uma falha permanente, redimensionar sem corrigir a falha pode levar a um estado em que a quantidade de membros do StatefulSet fique abaixo do número mínimo de réplicas necessário para funcionar corretamente. Isso pode fazer com que seu StatefulSet se torne indisponível.

Se o Pod não estiver íntegro devido a uma falha transitória e o Pod possa voltar a ficar disponível, o erro transitório pode interferir na sua operação de aumento ou redução do número de réplicas. Alguns bancos de dados distribuídos apresentam problemas quando nós entram e saem ao mesmo tempo. Nesses casos, é melhor analisar as operações de redimensionamento no nível da aplicação e realizar o ajuste apenas quando você tiver certeza de que o cluster da sua aplicação com estado está completamente íntegro.

Próximos passos

Última modificação August 01, 2025 at 9:07 AM PST: [pt-br] Add tasks/run-application/scale-stateful-set.md (#51257) (0b4101e412)