Uma política de atualização de pool de nós permite limitar quantos pools de nós são atualizados ao mesmo tempo. Como os pools de nós são atualizados em paralelo por padrão, uma simultaneidade menor ajuda a evitar deadlocks de PodDisruptionBudget (PDB) e o esgotamento de recursos ou endereços IP. No entanto, as atualizações e os upgrades levam mais tempo.
Requisitos de recursos e endereços IP
Por padrão, os pools de nós são atualizados em paralelo. Para cada pool de nós em atualização, o cluster cria um nó de sobrecarga. A atualização simultânea de vários pools de nós pode levar às seguintes restrições:
- Esgotamento de recursos: a criação de nós de sobrecarga para vários pools de nós em paralelo pode exceder a cota de computação disponível ou a capacidade do host se a capacidade extra for limitada.
- Impasses de PDB: a drenagem de mais de um nó por vez pode causar impasses de PodDisruptionBudget (PDB).
- Disponibilidade de endereços IP: cada pool de nós atualizado em paralelo precisa de um
endereço IP extra para o nó de sobrecarga. Por exemplo, para atualizar três pools de nós
em paralelo, três endereços IP extras precisam estar disponíveis:
- Se os nós de trabalho receberem endereços IP de um servidor DHCP, ele precisará fornecer um endereço IP adicional para cada pool de nós que é atualizado em paralelo.
- Se os nós de trabalho usarem endereços IP estáticos, o arquivo de bloco de IP precisará conter um endereço IP extra para cada pool de nós que é atualizado em paralelo, além dos endereços IP necessários para os nós de trabalho.
Se não houver endereços IP extras suficientes disponíveis para atualizar todos os pools de nós em paralelo, o cluster vai atualizar o maior número possível de pools em paralelo. À medida que os endereços IP ficam disponíveis, os pools de nós restantes são atualizados.
Configurar política de atualização de pools de nós
Observe o seguinte sobre clusters avançados:
Versão 1.31: as políticas de atualização do pool de nós não são compatíveis com clusters avançados.
Versão 1.32: as políticas de atualização de pool de nós são compatíveis com clusters avançados.
Versões 1.32.0 a 1.32.1000, 1.33.0 a 1.33.600 e 1.34.0 a 1.34.200: em clusters avançados,
maximumConcurrentNodePoolUpdateassume como padrão1, então os pools de nós são atualizados sequencialmente. Em versões de patch posteriores e na 1.35 e mais recentes, o padrão é0, então os pools de nós são atualizados em paralelo. Para mais detalhes, consultenodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate.
Na configuração semente do cluster de usuário user-cluster.yaml, é possível configurar a política de atualização do pool de nós para atualizar os pools de nós em sequência ou com um limite de simultaneidade:
nodePoolUpdatePolicy: maximumConcurrentNodePoolUpdate: 1
O campo maximumConcurrentNodePoolUpdate controla a simultaneidade de atualizações:
0: preserva o comportamento paralelo padrão em todos os pools de nós.1: atualiza os pools de nós sequencialmente. Embora as atualizações sequenciais evitem o esgotamento de recursos e de IPs, o processo de atualização leva mais tempo do que a atualização em paralelo.- Um número inteiro maior que
1: configura o número máximo de pools de nós para atualização simultânea.
A política de atualização do pool de nós se aplica à atualização e ao upgrade do pool de nós, mas não à criação. Se alguma atualização ou upgrade do pool de nós tiver problemas e ficar travada, o processo será bloqueado nesse pool e não vai prosseguir para o próximo.