Задать вопрос
Akuma
@Akuma
Веб-программист

Как разместить поды на разных нодах после редеплоя?

Есть Deployment с количеством реплик: 2
Есть две ноды, на которых он запускается.

Как принудительно разделить поды по разным нодам?

Варианты с topologySpreadConstraints или podAntiAffinity работают только на старте. Затем, если сделать простой редеплой (или обновление) Deployment, поды все равно размещаются на одной ноде.
Происходит это из-за RollingUpdate: удаляемые (но еще работающие) поды учитываются при размещении и получается так, что две новых пода запускаются на одной и той же ноде.

Вопрос в том, как заставить k8s даже при редеплое размещать поды по отдельным нодам?
Хотелось бы оставить RollingUpdate

topologySpreadConstraints:
        - maxSkew: 1
          topologyKey: kubernetes.io/hostname
          whenUnsatisfiable: DoNotSchedule
          labelSelector:
            matchLabels:
              app: appname


affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            - labelSelector:
                matchExpressions:
                  - key: app
                    operator: In
                    values:
                      - appname
                topologyKey: kubernetes.io/hostname
  • Вопрос задан
  • 823 просмотра
Подписаться 2 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Эксплуатация и разработка в Kubernetes
    3 месяца
    Далее
  • Skillbox
    Инфраструктурная платформа на основе Kubernetes
    1 месяц
    Далее
  • Stepik
    Администратор Kubernetes [Junior]
    2 недели
    Далее
Пригласить эксперта
Ответы на вопрос 1
@holyx
ДевОпс Сисадмин
Nodeselector?
Или другие условия прописать:
https://habr.com/ru/company/netologyru/blog/580902/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы