Kubernets 限制 pods 不在 master node 生成
基於安全性考量情況下,在k8s中master node是不會部署pod在上面
公司k8s專案搭建了一套3個master node + 2個worker node的架構
目前k8s官方尚未正式提供多master node架構,所以即使自行設定多master node
k8s還是會將pod部署在第二和第三台master node上
要限制pod不在master node上部署,可以用kubectl taint指令來進行
# kubectl get nodes
NAME STATUS AGE
k8s-m01t Ready,master 1d
k8s-m02t Ready,master 1d
k8s-m03t Ready,master 1d
k8s-n01t Ready 1d
k8s-n02t Ready 1d
這裡有3個master node,其中k8s-m02t和k8s-m03t都會被部署pod
所以執行下面指令
# kubectl taint node k8s-m02t dedicated=master:NoSchedule
# kubectl taint node k8s-m03t dedicated=master:NoSchedule
驗證一下設定
# kubectl describe nodes | grep Taints
Taints: dedicated=master:NoSchedule
Taints: dedicated=master:NoSchedule
Taints: dedicated=master:NoSchedule
Taints: <none>
Taints: <none>
看到dedicated=master:NoSchedule就代表設定成功了!!