Выбор пула узлов

Выбор пула узлов

У меня есть кластер Kubernetes с множеством пулов узлов. Иногда развертывание завершается неудачей, поскольку выбранный пул узлов, который выбирает Kubernetes, не имеет достаточно доступных ресурсов.

Есть ли способ заставить Kubernetes выбрать пул узлов с объемом ресурсов, запрошенным всем набором модулей?

решение1

Вы можете ограничить Pod так, чтобы он мог работать только на определенном наборе узлов. Есть несколько способов сделать это, и рекомендуемый подход — использовать селекторы меток.

Вы можете использовать любой из следующих методов, чтобы выбрать, где Kubernetes будет планировать работу определенных модулей:

  • nodeSelectorсопоставление полей сметки узлов

  • Сродство и анти-сродство

  • поле nodeName

Аселектор узловопределяет карту пар ключ/значение, которые определяются с помощью пользовательских меток на узлах и селекторах, указанных в модулях.

Чтобы модуль мог работать на узле, он должен иметь тот же селектор узлов «ключ/значение», что и метка на узле.

Примечание: Вы не можете добавить селектор узлов непосредственно в существующий запланированный модуль.

nodeSelector — это самый простой способ ограничить Pod-ы узлами с определенными метками, тогда какСродство и анти-сродстворасширяет типы ограничений, которые вы можете определить. Функция affinity состоит из двух типов affinity:

  • Функция привязки к узлу аналогична полю nodeSelector, но она более выразительна и позволяет задавать мягкие правила.
  • Межмодульное сродство/анти-сродство позволяет вам ограничивать модули по меткам на других модулях.

Для nodename вы можетессылатьсяпо ссылке для получения более подробной информации.

Сродство узлов — это свойство Pod, которое привлекает их к набору узлов, и, как уже говорилось, nodeselector используется для ограничения Pod. Таким образом, вы можете использоватьПороки и терпимость.

Taints противоположны тем, что они позволяют узлу отталкивать набор pod. Допуски применяются к pod и позволяют pod планировать на узлах с соответствующими taints. Taints и допуски работают вместе, чтобы гарантировать, что pod не будут запланированы на неподходящих узлах. К узлу применяется один или несколько taints. Это означает, что узел должен отклонять любые pod, которые не допускают taints.

Вы можете обратиться кссылкидля получения дополнительной информации опороки и терпимость.

Связанный контент