背景
使用kubeadm
部署的kubernetes
集群,其中master
节点上默认拒绝pod
调度运行在此上面。官方术语是:master默认被赋予了一个taints
(污点),那么想让master也成为工作节点,有一下两种方法
- 去掉taints(污点) 备注:生产环境不推荐
- 让pod能够容忍该节点上的污点
去掉污点(taints)
查看节点taints
复制代码
1
2kubectl describe node NODE_NAME | grep Taint
删除节点taints
复制代码
1
2kubectl taint node k8s-master node-role.kubernetes.io/master:NoSchedule-
增加污点(taints)
增加污点,禁止pod调度到该节点上
复制代码
1
2kubectl taint node k8s-master node-role.kubernetes.io/master:NoSchedule
pod容忍
需要在pod上声明 Toleration
。下面两个 Toleration
都被设置为可以容忍具有污点的Node,使Pod能够调度到有污点的节点上。
复制代码
1
2
3
4
5
6tolerations: - key: "key" operator: "Equal" value: "value" effect: "NoSchedule"
或者
复制代码
1
2
3
4
5tolerations: - key: "key" operator: "Exists" effect: "NoSchedule"
pod
的Toleration
声明中的key和effect需要与Taint的设置保持一致,并且满足一下条件之一:
- operator 的值是 Exists(无需指定 value)
- operator 的值是 Equal 并且 value相等
比如上面的例子可以这样写:
复制代码
1
2
3
4
5
6tolerations: - key: "node-role.kubernetes.io/maste" operator: "Equal" value: "node-role.kubernetes.io/maste" effect: "NoSchedule"
或者
复制代码
1
2
3
4
5tolerations: - key: "node-role.kubernetes.io/master" operator: "Exists" effect: "NoSchedule"
最后
以上就是唠叨苗条最近收集整理的关于k8s-master增加和删除污点的全部内容,更多相关k8s-master增加和删除污点内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复