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
  • Вопрос задан
  • 643 просмотра
Пригласить эксперта
Ответы на вопрос 1
@holyx
ДевОпс Сисадмин
Nodeselector?
Или другие условия прописать:
https://habr.com/ru/company/netologyru/blog/580902/
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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