Configurar política de atualização de pools de nós

Por padrão, os pools de nós são atualizados em paralelo. Isso pode causar dois problemas:

  • Problema de cota

    Para cada pool de nós, ele criará um nó de sobrecarga, de modo que N pools de nós vão criar N nós de sobrecarga quando forem atualizados em paralelo. Isso poderá resultar em esgotamento do recurso se houver capacidade extra limitada para a criação desses nós de sobrecarga.

  • Problema de impasse do PDB

    A redução de mais de um nó por vez pode causar impasses no PDB.

Para que N pools de nós sejam atualizados em paralelo, é necessário ter N endereços IP extras disponíveis para os nós de sobrecarga. Se os nós de trabalho receberem os endereços IP de um servidor DHCP, o servidor DHCP precisará fornecer N endereços IP extras. Se os nós de trabalho usarem endereços IP estáticos, o arquivo de bloco de IP precisa conter N endereços IP extras além daqueles necessários para os nós de trabalho.

Se não houver endereços IP extras suficientes disponíveis para atualizar todos os nós N em paralelo, vamos atualizar o maior número possível de pools em paralelo. À medida que os endereços IP ficam disponíveis, atualizamos os pools de nós restantes.

Neste documento, mostramos como especificar uma política de atualização de pool de nós para configurar o número máximo de nós a serem atualizados simultaneamente durante a atualização do pool de nós, o que pode ajudar a evitar os dois problemas mencionados. O valor 0 significa preservar o comportamento paralelo atual, que é o valor padrão. 1 significa atualizar os pools de nós sequencialmente.

Embora a atualização sequencial possa evitar os dois problemas, ela pode fazer com que o processo de atualização do pool de nós leve mais tempo do que a atualização em paralelo.

Configurar política de atualização de pools de nós

Na configuração semente do cluster de usuário user-cluster.yaml, é possível configurar a atualização do pool de nós para que seja feita em sequência da seguinte maneira:

nodePoolUpdatePolicy:
  maximumConcurrentNodePoolUpdate: 1

O maximumConcurrentNodePoolUpdate pode ser definido como um valor inteiro arbitrário para configurar o número de pools de nós que você quer atualizar ao mesmo tempo.

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. Além disso, caso algum pool de nós de atualização/criação tenha problemas e fique travado, o comportamento atual é que bloquearemos e não seguiremos para atualizar o próximo pool de nós.