Использование Taints:
Taints позволяют узлу отражать набор пакетов. Вы не указали эффект в заражении. Это должно быть node-pool=true:NoSchedule
. Кроме того, ваш другой узел должен отталкивать этот модуль, поэтому вам нужно добавить другой оттенок для других узлов и не иметь этого допуска в модуле.
Использование селектора узлов:
Вы можете ограничить Pod, чтобы иметь возможность работать только на определенных узлах или предпочитать работать на определенных узлах.
Вы можете пометить узел
kubectl label nodes kubernetes-foo-node-1.c.a-robinson.internal node-pool=true
Добавить узел селектор в модуле модуля c:
kind: Pod
metadata:
name: nginx
labels:
env: test
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
nodeSelector:
node-pool: true
Использование Node Affinity
nodeSelector
обеспечивает очень простой способ привязать модули к узлам с определенными метками. Функция сродства / анти-сродства значительно расширяет типы ограничений, которые вы можете express.
apiVersion: v1
kind: Pod
metadata:
name: with-node-affinity
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-pool
operator: In
values:
- true
containers:
- name: with-node-affinity
image: k8s.gcr.io/pause:2.0