一、若是想把demo-nginx部署在不同的节点上面,
### --- 部署demo-nginx至不同的宿主机上
~~~ 编写yaml文件
~~~ demo-nginx就和当前的app下的demo-nginx匹配,不写namespace就是当前的namespace下
[root@k8s-master01 ~]# vim pod-Affinity-demo-nginx.yaml
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- demo-nginx
topologyKey: kubernetes.io/hostname
### --- replace重新触发一下
[root@k8s-master01 ~]# kubectl replace -f pod-Affinity-demo-nginx.yaml
deployment.apps/demo-nginx replaced
### --- 验证结果
~~~ 部署在了k8s-master01和k8s-node01节点上面
~~~ 在部署Redis集群和统一业务的集群,尽量不要部署在同一个节点
[root@k8s-master01 ~]# kubectl get po -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
busybox 1/1 Running 0 36m 172.25.92.90 k8s-master02 <none> <none>
demo-nginx-7c464c79f7-hg4rm 2/2 Running 0 35s 172.18.195.42 k8s-master03 <none> <none>
demo-nginx-7c464c79f7-v7pmw 2/2 Running 0 35s 172.17.125.35 k8s-node01 <none> <none>