三種調度POD的方法:node
污點、容忍度nginx
nodeName:讓POD運行在制定的node上api
nodeSelecter:經過標籤選擇器,讓POD運行在制定的一組node上bash
先建立一個簡單的deployment:app
[root@hdss7-21 ~]# cat nginx-dp.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: labels: app: nginx-dp name: nginx-dp namespace: kube-public spec: replicas: 2 selector: matchLabels: app: nginx-dp template: metadata: labels: app: nginx-dp spec: containers: - image: harbor.od.com/public/nginx:v1.7.9 imagePullPolicy: IfNotPresent name: nginx
沒作污點的時候,如今是兩個節點上各運行一組POD:ide
[root@hdss7-21 ~]# kubectl taint node hdss7-22.host.com role=node:NoSchedule
若是給node7-22這個節點加污點,該節點將不會被調度pod,由於NoSchedule的意思是不調度
spa
那麼若是要給有污點的node節點調度POD,可使用容忍度配置,在template下添加配置:blog
template: metadata: labels: app: nginx-dp tolertions: - key: role value: node effect: NoSchedule