Каким образом можно закрепить Pod за конкретной нодой в Kubernetes?

Чтобы закрепить Pod за конкретной нодой в Kubernetes, можно использовать несколько подходов:

Короткий ответ

Что ответить на собеседовании

Чтобы закрепить Pod за конкретной нодой в Kubernetes, можно использовать несколько подходов:

Подробный разбор

Ответ с пояснениями

Чтобы закрепить Pod за конкретной нодой в Kubernetes, можно использовать несколько подходов:

  1. nodeSelector — самый простой способ. В манифесте Pod указываете метку ноды, на которой хотите запустить Pod.
spec:
  nodeSelector:
    disktype: ssd
  1. nodeAffinity — более гибкий способ, позволяет задавать правила с операторами (In, NotIn, Exists и т.д.).
spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: kubernetes.io/hostname
            operator: In
            values:
            - node-name
  1. Pod affinity/anti-affinity — для задания предпочтений относительно других Pod.
  2. Taints and Tolerations — можно «запятнать» ноду, чтобы на ней запускались только Pod с соответствующими толерантностями.

Для закрепления Pod именно за одной нодой чаще всего используют nodeSelector или nodeAffinity с указанием имени ноды или нужной метки.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку