Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 2

Доброго дня,
а можете кратко описать, почему tolerations и taints не подошли,
Ведь в связке вы как раз можете жёстко ограничить расположение подов на конкретных нодах и по результату оно будет схоже с вашим?

P.S. сами taints и toleration мне не доводилось использовать в своей работе, только на тестовых стендах.

Добрый день!
если мы говорим не про kind: Pod, оператор Strimzi использует StatefulSet,
то tolerations и taints работают на уровне узлов и подов в целом, без возможности указать, что именно pod-0 должен быть размещён на node-0, а pod-1 на node-1 из-за того, что в kind: StatefulSet используется template и все реплики подов будут иметь одинаковую конфигурацию по tolerations.

Наиболее близкое стандартное решение, хотя и не гарантирующее повторяемости размещения:

nodeAffinity + weight
...
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            ...
            topologyKey: "kubernetes.io/hostname"
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100
            preference:
              matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                - minikube-m02
          - weight: 60
            preference:
              matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                - minikube-m03
          - weight: 20
            preference:
              matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                - minikube-m04

Можно попробовать нестандартный подход (uglyhack solution), зная, что StatefulSet создает и запускает поды последовательно: пометить все ноды как unschedulable, кроме первой нужной, дождаться запуска pod-0 на ней (надеясь на дальнейшую привязку по local storage, например), затем по одной делать ноды schedulable, пока не запустятся все реплики.
Но все это не production-ready решения и в итоге поды могут быть размещены по предоставленным узлам в хаотичном порядке.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации