Выбор узлов для размещения подов

Можно ограничить размещение подов на конкретных узлах при помощи параметра nodeSelector. Это простой инструмент Kubernetes, который позволяет назначать поды только на узлы с определёнными метками.

Также для настройки размещения подов можно использовать:

Настройка параметра nodeSelector для выбора узлов размещения

Для базового размещения подов на узлах при помощи параметра nodeSelector выполните шаги:

  1. Добавьте метки (labels) на узлах.
     
    Чтобы размещать поды в определённых узлах Kubernetes-кластера, задайте метки для нужных узлов, например environment = production.
  2. Настройте проверку совпадения меток.
     
    В манифесте пода укажите nodeSelector с заданными метками. Если на узле нет соответствующей метки, под не планируется на этот узел.

Рассмотрим пример. Допустим, настроено два окружения: develop и production. Нагрузка production-окружения распределяется на узле node-1, develop-окружения — на node-2. Для этого:

  1. Добавьте на узлы метки окружения:
  • environment = production на узел node-1;
  • environment = develop на узел node-2.

Для этого выполните команды:

kubectl label nodes node-1 environment=production
kubectl label nodes node-2 environment=development

  1. Укажите для подов созданные метки, чтобы они запускались в нужных узлах. В каждом окружении откройте файл values-elma365.yaml и задайте значение для параметра nodeSelector:
  • для production-окружения:

global:
  nodeSelector:
    environment: production

  • для develop-окружения:

global:
  nodeSelector:
    environment: develop

После этого:

  1. Все поды с конфигурацией environment = production запустятся только на узлах с меткой environment = production.
  2. Все поды с конфигурациейenvironment = develop запустятся только на узлах с меткой environment = develop.

Этапы изменения параметра аналогичны шагам в статье «Изменение параметров ELMA365 Enterprise».

Значения по умолчанию для параметра nodeSelector

По умолчанию в поле .Values.global.nodeSelector не заданы значения. Поэтому поды распределяются на любые доступные узлы кластера без ограничений.