k8s 让master主节点也参与调度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s 让master主节点也参与调度相关的知识,希望对你有一定的参考价值。

参考技术A 刚刚部署完的k8s集群默认master是不参与跑任务的。
1、可通过kubectl describe nodes k8s-master131查看k8s-master131是不可被调度。如下图

2、取消不可调度
kubectl taint nodes k8s-master131 node-role.kubernetes.io/master:NoSchedule-

3、验证。
关掉k8s-nodes节点。那么此节点的pod就会被调度到master里恢复。

k8s- 使用DaemonSet时,主节点没有运行Pod实例

参考技术A 以DaemonSet方式部署日志收集插件服务之后,没有在Master节点上创建Pod实例。因此master节点的日志无法收集,但是我们希望Master节点中也运行Pod实例。

因为从1.6版本开始,不会再将DaemonSet调度到主节点上。由于主节点上有node-role.kubernetes.io/master及NoSchedule污点,而Pod没有容忍该污点,所以不会调度到主节点上。
既然官方已经不建议这么做了,如果没有必要就不要向主机调度Pod了,除非是出于监控或者指标收集等原因。

正确的解决办法其实是在DaemonSets的Pod定义中添加如下配置:

以上是关于k8s 让master主节点也参与调度的主要内容,如果未能解决你的问题,请参考以下文章

K8s污点容忍度横向主节点

k8s不常用设置-禁止master调度

The Basic Of K8s

The Basic Of K8s

k8s 调度不合理解决方案如下-临时方案

Kubernetes(k8s)亲和性调度