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"

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值