k8s中三種POD調度策略

三種調度POD的方法:node

  1. 污點、容忍度nginx

  2. nodeName:讓POD運行在制定的node上api

  3. 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:image.pngide

[root@hdss7-21 ~]# kubectl taint node hdss7-22.host.com role=node:NoSchedule

若是給node7-22這個節點加污點,該節點將不會被調度pod,由於NoSchedule的意思是不調度
spa

image.png

那麼若是要給有污點的node節點調度POD,可使用容忍度配置,在template下添加配置:blog

  template:
    metadata:
      labels:
        app: nginx-dp
    tolertions:
      - key: role
        value: node
        effect: NoSchedule
相關文章
相關標籤/搜索