我是靠谱客的博主 唠叨苗条,最近开发中收集的这篇文章主要介绍k8s-master增加和删除污点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

背景

使用kubeadm部署的kubernetes集群,其中master节点上默认拒绝pod调度运行在此上面。官方术语是:master默认被赋予了一个taints(污点),那么想让master也成为工作节点,有一下两种方法

  1. 去掉taints(污点) 备注:生产环境不推荐
  2. 让pod能够容忍该节点上的污点

去掉污点(taints)

查看节点taints

kubectl describe node NODE_NAME | grep Taint

删除节点taints

kubectl taint node k8s-master node-role.kubernetes.io/master:NoSchedule-

增加污点(taints)

增加污点,禁止pod调度到该节点上

kubectl taint node k8s-master node-role.kubernetes.io/master:NoSchedule

pod容忍

需要在pod上声明 Toleration。下面两个 Toleration都被设置为可以容忍具有污点的Node,使Pod能够调度到有污点的节点上。

tolerations:
- key: "key"
  operator: "Equal"
  value: "value"
  effect: "NoSchedule"

或者

tolerations:
- key: "key"
  operator: "Exists"
  effect: "NoSchedule"

podToleration声明中的key和effect需要与Taint的设置保持一致,并且满足一下条件之一:

  • operator 的值是 Exists(无需指定 value)
  • operator 的值是 Equal 并且 value相等

比如上面的例子可以这样写:

tolerations:
- key: "node-role.kubernetes.io/maste"
  operator: "Equal"
  value: "node-role.kubernetes.io/maste"
  effect: "NoSchedule"

或者

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

最后

以上就是唠叨苗条为你收集整理的k8s-master增加和删除污点的全部内容,希望文章能够帮你解决k8s-master增加和删除污点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部