есть в кластере несколько нод помеченные лейблом type=product, есть приложение как Deployment , в нём я ставлю replicas по числу этих нод и хочу ,чтобы на каждой ноде по штуке развернулось. В affinity прописано:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- product
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- my-application
topologyKey: kubernetes.io/hostname
где my-application - то самое приложение у которого в labels - app=my-application
Это правильные правила или я их не так понимаю?
а в чём возникла проблема?
Да вот такой event ловлю: Warning FailedScheduling 56s default-scheduler 0/4 nodes are available: 1 node(s) didn't match pod affinity/anti-affinity, 1 node(s) didn't match pod anti-affinity rules, 1 node(s) had taint {node-role.kubernetes.io/controlplane: true}, that the pod didn't tolerate, 2 node(s) had volume node affinity conflict. и вот как бы понять, что 2 node(s) had volume node affinity conflict из-за чего, т.к. 3 одинаковые ноды, на одну запускается, на другие 2 - нет.
Обсуждают сегодня