kubernetes 设置 Master 可调度与不可调度

简介: kubernetes 设置 Master 可调度与不可调度语法kubectl taint node [node] key=value[effect][effect] 可取值: [ NoSchedule | PreferNoSchedule | NoExecute ]NoSchedule: 一定不能被调度PreferNoSchedule: 尽量不要调度NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod

kubernetes 设置 Master 可调度与不可调度

语法

kubectl taint node [node] key=value[effect]

[effect] 可取值: [ NoSchedule | PreferNoSchedule | NoExecute ]

NoSchedule: 一定不能被调度

PreferNoSchedule: 尽量不要调度

NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod

取消污点

取消污点
[root@k8s-master01 ~]# kubectl taint node k8s-master node-role.kubernetes.io/master-

设置污点

# 设置为一定不能被调度

[root@k8s-master01 ~]# kubectl taint node k8s-master01 node-role.kubernetes.io/master="":NoSchedule
node/k8s-master01 tainted
[root@k8s-master01 ~]# kubectl taint node k8s-master02 node-role.kubernetes.io/master="":NoSchedule
node/k8s-master02 tainted
[root@k8s-master01 ~]# kubectl taint node k8s-master03 node-role.kubernetes.io/master="":NoSchedule
node/k8s-master03 tainted
[root@k8s-master01 ~]# 

# 查看污点
[root@k8s-master01 ~]# kubectl  describe  node | grep Ta
Taints:             node-role.kubernetes.io/master:NoSchedule
Taints:             node-role.kubernetes.io/master:NoSchedule
Taints:             node-role.kubernetes.io/master:NoSchedule
Taints:             <none>
Taints:             <none>
Taints:             <none>
Taints:             <none>
Taints:             <none>
[root@k8s-master01 ~]# 

查看验证

# 查看已经调度到maser上的pod没有被驱逐
[root@k8s-master01 ~]# kubectl  get pod -o wide
NAMESPACE              NAME                                         READY   STATUS    RESTARTS       AGE   IP               NODE           NOMINATED NODE   READINESS GATES
default                hostname-test-cby-58d85dccdb-7zgjj           1/1     Running   1 (2d1h ago)   19d   172.25.244.195   k8s-master01   <none>           <none>
default                hostname-test-cby-58d85dccdb-8t7zv           1/1     Running   1 (2d1h ago)   19d   172.25.244.196   k8s-master01   <none>           <none>
default                hostname-test-cby-58d85dccdb-9bqsq           1/1     Running   1 (2d1h ago)   19d   172.25.92.74     k8s-master02   <none>           <none>
default                hostname-test-cby-58d85dccdb-jj2ml           1/1     Running   1 (2d1h ago)   19d   172.17.125.3     k8s-node01     <none>           <none>
default                hostname-test-cby-58d85dccdb-k96zl           1/1     Running   1 (2d1h ago)   19d   172.18.195.3     k8s-master03   <none>           <none>
default                hostname-test-cby-58d85dccdb-lng8b           1/1     Running   1 (2d1h ago)   19d   172.29.115.131   k8s-node04     <none>           <none>
default                hostname-test-cby-58d85dccdb-lsrbg           1/1     Running   1 (2d1h ago)   19d   172.25.214.195   k8s-node03     <none>           <none>
default                hostname-test-cby-58d85dccdb-mlv24           1/1     Running   1 (2d1h ago)   19d   172.17.54.131    k8s-node05     <none>           <none>
default                hostname-test-cby-58d85dccdb-p5vc8           1/1     Running   1 (2d1h ago)   19d   172.27.14.195    k8s-node02     <none>           <none>
default                hostname-test-cby-58d85dccdb-z6ptf           1/1     Running   1 (2d1h ago)   19d   172.25.214.196   k8s-node03   
  <none>           <none>
[root@k8s-master01 ~]# 

设置污点

# 设置为不仅不会调度, 还会驱逐Node上已有的Pod
[root@k8s-master01 ~]# kubectl taint node k8s-master03 node-role.kubernetes.io/master="":NoExecute
node/k8s-master03 tainted
[root@k8s-master01 ~]# kubectl taint node k8s-master02 node-role.kubernetes.io/master="":NoExecute
node/k8s-master02 tainted
[root@k8s-master01 ~]# kubectl taint node k8s-master01 node-role.kubernetes.io/master="":NoExecute
node/k8s-master01 tainted

# 查看污点
[root@k8s-master01 ~]# kubectl  describe  node | grep Ta
Taints:             node-role.kubernetes.io/master:NoExecute
Taints:             node-role.kubernetes.io/master:NoExecute
Taints:             node-role.kubernetes.io/master:NoExecute
Taints:             <none>
Taints:             <none>
Taints:             <none>
Taints:             <none>
Taints:             <none>
[root@k8s-master01 ~]# 

查看验证

# 查看已经调度到master节点的pod已进行驱逐
[root@k8s-master01 ~]# kubectl  get pod  -A -o wide
NAMESPACE              NAME                                         READY   STATUS              RESTARTS       AGE   IP               NODE           NOMINATED NODE   READINESS GATES
default                mysql-0                                      2/2     Running             0              34m   172.27.14.206    k8s-node02     <none>           <none>
default                mysql-1                                      2/2     Running             0              34m   172.17.125.11    k8s-node01     <none>           <none>
default                mysql-2                                      2/2     Terminating         0              34m   172.18.195.10    k8s-master03   <none>           <none>
[root@k8s-master01 ~]# 
https://www.oiox.cn/
https://www.chenby.cn/
https://cby-chen.github.io/
https://blog.csdn.net/qq_33921750
https://my.oschina.net/u/3981543
https://www.zhihu.com/people/chen-bu-yun-2
https://segmentfault.com/u/hppyvyv6/articles
https://juejin.cn/user/3315782802482007
https://cloud.tencent.com/developer/column/93230
https://www.jianshu.com/u/0f894314ae2c
https://www.toutiao.com/c/user/token/MS4wLjABAAAAeqOrhjsoRZSj7iBJbjLJyMwYT5D0mLOgCoo4pEmpr4A/

CSDN、GitHub、知乎、开源中国、思否、掘金、简书、腾讯云、今日头条、个人博客、全网可搜《小陈运维》

文章主要发布于微信公众号:《Linux运维交流社区》

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
1月前
|
Prometheus Kubernetes 监控
容器服务ACK常见问题之pod设置securityContext调整参数失败如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
3月前
|
Kubernetes 监控 调度
Kubernetes Pod调度:从基础到高级实战技巧
Kubernetes Pod调度:从基础到高级实战技巧
184 0
|
4月前
|
Kubernetes 负载均衡 Cloud Native
猿创征文|云原生|kubernetes二进制1.18单master扩展为多master
猿创征文|云原生|kubernetes二进制1.18单master扩展为多master
53 0
|
4月前
|
Kubernetes 应用服务中间件 调度
k8s教程(pod篇)-全自动调度
k8s教程(pod篇)-全自动调度
46 0
|
4月前
|
存储 Kubernetes 调度
k8s教程(pod篇)-DaemonSet(每个node上只调度一个pod)
k8s教程(pod篇)-DaemonSet(每个node上只调度一个pod)
67 0
|
1月前
|
Kubernetes 网络安全 调度
容器服务ACK常见问题之容器服务ACK的eci调度卡住如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
4月前
|
消息中间件 Kubernetes 调度
k8s教程(pod篇)-批处理调度
k8s教程(pod篇)-批处理调度
68 0
|
2月前
|
Prometheus Kubernetes 监控
|
4月前
|
Kubernetes Cloud Native 虚拟化
云原生|kubernetes|找回丢失的etcd集群节点---etcd节点重新添加,扩容和重新初始化k8s的master节点
云原生|kubernetes|找回丢失的etcd集群节点---etcd节点重新添加,扩容和重新初始化k8s的master节点
90 0
|
4月前
|
Kubernetes Cloud Native 调度
云原生|kubernetes |一文带你搞懂pod调度策略,驱逐策略,污点、容忍调度
云原生|kubernetes |一文带你搞懂pod调度策略,驱逐策略,污点、容忍调度
222 0