k8s-master增加和删除污点

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

去掉taints(污点) 备注:生产环境不推荐

让pod能够容忍该节点上的污点

1、查看节点Taints

bash 复制代码
kubectl describe node NODE_NAME | grep Taints

2、删除节点taints

bash 复制代码
kubectl taint node k8s-master node-role.kubernetes.io/master:NoSchedule-

3、增加污点(taints)增加污点,禁止pod调度到该节点上

bash 复制代码
kubectl taint node k8s-master node-role.kubernetes.io/master:NoSchedule

pod容忍

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

bash 复制代码
tolerations:
- key: "key"
  operator: "Equal"
  value: "value"
  effect: "NoSchedule"

或者

bash 复制代码
tolerations:
- key: "key"
  operator: "Exists"
  effect: "NoSchedule"

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

operator 的值是 Exists(无需指定 value)

operator 的值是 Equal 并且 value相等

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

bash 复制代码
tolerations:
- key: "node-role.kubernetes.io/maste"
  operator: "Equal"
  value: "node-role.kubernetes.io/maste"
  effect: "NoSchedule"

或者

bash 复制代码
tolerations:
- key: "node-role.kubernetes.io/master"
  operator: "Exists"
  effect: "NoSchedule"
相关推荐
勇往直前plus19 小时前
如何利用docker部署springboot应用
spring boot·docker·容器
小北爱编程ma21 小时前
【云原生】用Prometheus Operator监听Golang服务指标,并用Granafa可视化展示
云原生
NineData21 小时前
NineData云原生智能数据管理平台新功能发布|2025年9月版
数据库·云原生·devops·ninedata·数据库迁移·数据复制·风险sql管控
博睿谷IT99_1 天前
Linux 云计算核心技术:原理、组件与 K8s 实战部署
linux·kubernetes·云计算
有谁看见我的剑了?1 天前
k8s storageclasses nfs-provisioner 部署
docker·容器·kubernetes
超龄超能程序猿1 天前
Docker 镜像的导出和还原操作
运维·docker·容器
维尔切1 天前
Docker 监控平台部署
运维·docker·容器·grafana·prometheus
温柔一只鬼.1 天前
Docker快速入门——第三章Docker环境安装
运维·docker·容器
红尘客栈21 天前
k8s的ymal文件
docker·容器·kubernetes
hello_2501 天前
k8s opa集成
云原生·容器·kubernetes