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



@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


Решения вопроса 0


Ответы на вопрос 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *