Seleção de pool de nós

Seleção de pool de nós

Tenho um cluster Kubernetes com muitos pools de nós. Às vezes, a implantação falha porque o pool de nós selecionado pelo Kubernetes não tem recursos disponíveis suficientes.

Existe alguma maneira de forçar o Kubernetes a selecionar um pool de nós com a quantidade de recursos que todo o conjunto de pods solicitou?

Responder1

Você pode restringir um pod para que ele só possa ser executado em um conjunto específico de nós. Existem várias maneiras de fazer isso e a abordagem recomendada é usar seletores de rótulos.

Você pode usar qualquer um dos métodos a seguir para escolher onde o Kubernetes agenda pods específicos:

  • seletor de nócorrespondência de campo contrarótulos de nó

  • Afinidade e antiafinidade

  • campo nodeName

Aseletor de nóespecifica um mapa de pares chave/valor que são definidos usando rótulos personalizados em nós e seletores especificados em pods.

Para que o pod seja elegível para execução em um nó, o pod deve ter o mesmo seletor de nó de chave/valor que o rótulo no nó.

Observação: você não pode adicionar um seletor de nó diretamente a um pod agendado existente.

nodeSelector é a maneira mais simples de restringir pods a nós com rótulos específicos, enquantoAfinidade e antiafinidadeexpande os tipos de restrições que você pode definir. O recurso de afinidade consiste em dois tipos de afinidade:

  • A afinidade do nó funciona como o campo nodeSelector, mas é mais expressiva e permite especificar regras flexíveis.
  • A afinidade/antiafinidade entre pods permite restringir pods a rótulos em outros pods.

Para nome do nó você podereferirpara o link para mais informações.

A afinidade do nó é uma propriedade dos Pods que os atrai para um conjunto de nós e, como dito, o seletor de nós é usado para restringir os pods. Então, você pode usarMáculas e tolerâncias.

Os taints são opostos porque permitem que um nó repela um conjunto de pods. As tolerâncias são aplicadas aos pods e permitem que os pods sejam agendados em nós com taints correspondentes. Taints e tolerâncias trabalham juntos para garantir que os pods não sejam agendados em nós inadequados. Um ou mais taints são aplicados a um nó. Isso indica que o nó deve recusar quaisquer pods que não tolerem as contaminações.

Você pode consultar olinkspara mais informações sobreimpurezas e tolerância.

informação relacionada