Pod AntiAffinity
Стручок анти-сродства может также отталкивать стручок друг от друга. поэтому на одном узле нельзя запланировать два модуля.
Используйте следующие конфигурации.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- nginx
topologyKey: "kubernetes.io/hostname"
containers:
- name: nginx
image: nginx
При этом будет использоваться функция анти-сродства, поэтому, если у вас более 2 узлов, будет гарантировано, что на одном узле не будет запланировано два модуля.