nodeSelector задаёт простое обязательное совпадение меток узла, а nodeAffinity поддерживает более выразительные обязательные и предпочтительные правила.
Для чего нужны nodeSelector и nodeAffinity, в чём разница между ними?
nodeSelector задаёт простое обязательное совпадение меток узла, а nodeAffinity поддерживает более выразительные обязательные и предпочтительные правила.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
nodeSelector задаёт простое обязательное совпадение меток узла, а nodeAffinity поддерживает более выразительные обязательные и предпочтительные правила.
Node affinity позволяет использовать операторы и веса предпочтений. Правила типа IgnoredDuringExecution не выселяют уже запущенный Pod при последующем изменении меток. Если одновременно заданы nodeSelector и обязательная affinity, должны выполняться оба условия; слишком жёсткие правила могут оставить Pod в Pending.
Источник: kubernetes.io.