VK Cloud logo
Обновлена 15 апреля 2024 г. в 08:50

Метки и ограничения

Метки (labels) — это пары ключ/значение, которые прикрепляются к объектам Kubernetes, таким как поды. Они предназначены для указания и использования идентифицирующих атрибутов для объектов, актуальных пользователю. Метки можно использовать для организации и выбора подмножеств объектов.

Ограничения (taints) действуют на уровне worker-узлов, запрещая планировщику (scheduler) размещать поды на worker-узлах.

Исключения (tolerations) применяются на уровне отдельных подов и разрешают им запускаться на узлах, для которых действуют ограничения.

При создании ограничения для узла необходимо выбрать эффект, который будет оказываться на поды:

  • NoSchedule: запрещать поду запуск на узле, если для пода не задано соответствующее исключение. Не выселять с узла (no evict) уже запущенные поды, для которых отсутствуют исключения.

  • PreferNoSchedule: пытаться запрещать поду запуск на узле, если для пода не задано соответствующее исключение. Не выселять с узла уже запущенные поды, для которых отсутствуют исключения.

    Этот эффект более мягкий, чем NoSchedule: планировщик может принять решение о размещении пода на узле с таким ограничением.

  • NoExecute: выселять (evict) запущенные поды с узла, если для них не заданы соответствующие исключения.

Таким образом, использование ограничений и исключений позволяет контролировать набор подов, которые будут запускаться на узлах.

Подробнее в официальной документации Kubernetes.