我是靠谱客的博主 多情钻石,这篇文章主要介绍Taints和Tolerations联用,将pod部署到k8s的master节点,现在分享给大家,希望可以做个参考。

一般,k8s的master为了保持高性能,在这个主节点上只运行一些管理必须的POD。

如果我们限于资源,或是一些监控类的pod要部署到master节点呢?

昨天遇到这个问题,按网上通用的方法,未解决,于是仔细研究了一下,

后解决。

一般来说,“污点”和“忍受”是成对应用的。master节点上打一个污点taints,部署的yaml文件里声明容忍tolerations。

标准用法如下:

...
nodeSelector:
  node-role.kubernetes.io/master: "true"
tolerations:
- key: "node-role.kubernetes.io/master"
  effect: "NoSchedule"
...

这是因为master上带有这个label: node-role.kubernetes.io/master: "true"。

不幸的是,在我安装的一个集群上,master的label是这样的node-role.kubernetes.io/master。true没有。

于是,将标准用法改为如下方式即可解决:

nodeSelector:
  node-role.kubernetes.io/master: ""
tolerations:
- key: "node-role.kubernetes.io/master"
  effect: "NoSchedule"

 

最后

以上就是多情钻石最近收集整理的关于Taints和Tolerations联用,将pod部署到k8s的master节点的全部内容,更多相关Taints和Tolerations联用,将pod部署到k8s内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部