kubernetes如何將pod運行在master節點


一.簡單說明

這里我們部署的Kubernetes集群,master節點默認是unscheduled的狀態,也就是默認拒絕將Pod調度到master節點運行。專業術語就是:Master節點被賦予了一個或者多個"污點","污點"的作用是讓該節點拒絕將Pod調度運行在其上。這種情況下,我們如果想讓master節點可以調度pod運行如何實現,這里有兩種方案:

  • 去掉污點(taints)
  • 讓pod能夠容器(tolerations)該節點上的污點。

1.1 方案一:去掉污點

  • 查看節點調度情況
[root@k8s001 ~]# kubectl get node 
NAME             STATUS   ROLES    AGE   VERSION
172.16.33.22   Ready    master   3d    v1.13.5
172.16.33.23   Ready    node     3d    v1.13.5
172.16.33.24   Ready    node     3d    v1.13.5
[root@k8s001 ~]# kubectl describe node 172.16.33.22
......
Events:
  Type    Reason              Age               From                     Message
  ----    ------              ----              ----                     -------
  Normal  NodeNotSchedulable  11s (x2 over 3d)  kubelet, 172.16.33.22  Node 172.16.33.22 status is now: NodeNotSchedulable
......
  • 去除污點
[root@k8s001 ~]# kubectl uncordon 172.16.33.22

1.2 方案二:增加污點容忍

[root@k8s001 ~]# cat pod.yaml
......
spec:
   tolerations:
    - key: node-role.kubernetes.io/master
      operator: Exists
      effect: NoSchedule
   containers:
    - name: nginx-pod
......


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM