Kubernets 调度常用的命令-马哥教育

news/2024/11/28 3:57:52/

taints 内容包括 key、value、effect:

key 就是配置的键值
value 就是内容
effect 是标记了这个 taints 行为是什么
目前 Kubernetes 里面有三个 taints 行为:

NoSchedule 禁止新的 Pod 调度上来
PreferNoSchedul 尽量不调度到这台

k8s的master节点本身就带有effect类型为NoSchedule的污点,这也是为什么k8s在调度Pod时,不会调度到master节点的原因,具体查看如下:(Kubeadm在安装初始化init的时候给master打上了污点,其余节点是没有该污点的。Master节点主要任务是管理集群的,不应该跑具体的业务应用。所以不允许pod落在master节点)

[root@k8s-master ~]# kubectl describe node k8s-master
Taints: node-role.kubernetes.io/master:NoSchedule
kubectl taint nodes k8s-master node-role.kubernetes.io/master=:NoSchedule

注意⚠️ : 为master设置的这个taint中, node-role.kubernetes.io/masterkeyvalue为空, effectNoSchedule

驱逐节点是一种有损操作,驱逐的原理 :
  1. 封锁节点 (设为不可调度,避免新的 Pod 调度上来)。
  2. 将该节点上的 Pod 删除。
  3. ReplicaSet 控制器检测到 Pod 减少,会重新创建一个 Pod,调度到新的节点上。

设置节点不可以调度

[root@k8s-master ~]# kubectl cordon k8s-node1
[root@k8s-master ~]# kubectl describe node k8s-node1
node.kubernetes.io/unschedulable:NoSchedule

设置将节点上pod驱逐

# kubectl drain node2 --force --ignore-daemonsets

kubectl drain操作会将相应节点上的旧Pod删除,并在可调度节点上面起一个对应的Pod。当旧Pod没有被正常删除的情况下,新Pod不会起来。

例如:旧Pod一直处于Terminating状态。

对应的解决方式是通过重启相应节点的kubelet,或者强制删除该Pod。

# 重启发生`Terminating`节点的kubelet
systemctl restart kubelet
# 强制删除`Terminating`状态的Pod
kubectl delete pod <PodName> --namespace=<Namespace> --force --grace-period=0

#节点恢复正常后, 设置节点为可调度

kubectl uncordon k8s-node1


http://www.ppmy.cn/news/441249.html

相关文章

SSM整合《学习笔记》

SSM整合 1、ContextLoaderListener Spring提供了监听器ContextLoaderListener&#xff0c;实现ServletContextListener接口&#xff0c;可监听 ServletContext的状态&#xff0c;在web服务器的启动&#xff0c;读取Spring的配置文件&#xff0c;创建Spring的IOC容器。web 应…

UVM中uvm_config_db机制背后的大功臣

1. 前言 本次讲一下UVM中的uvm_config_db&#xff0c;在UVM中提供了一个内部数据库&#xff0c;可以在其中存储给定名称下的值&#xff0c;之后可以由其它TB组件去检索。这样的数据库允许我们以不同的名称存储不同的配置设置&#xff0c;这些配置可以在需要时潜在地配置TB组件…

IDEA快捷键打印语句

打印语句关键词&#xff1a;sout 按tab或者enter出来全部。

IntelliJ IDEA总结(13) -- IntelliJ IDEA输出打印System.out.println()的快捷键sout

1 输入sout 2 回车 System.out.println就会出现了 技术交流 欢迎关注我的微信公众号&#xff1a;程序员大宝。一个乐于分享的程序员&#xff01;关注免费领取架构师学习资料和精选大厂高频面试题库。

KiCAD6.00快捷键汇总(用于打印)

KiCAD6.00快捷键汇总&#xff08;用于打印&#xff09; 一、原理图编辑快捷键汇总 二、PCB图编辑快捷键汇总 不用谢&#xff01;一个普通的民族复兴建设者敬上&#xff01;

WebStorm快捷键:自定义打印控制台代码 —— console.log

一、操作步骤 打开WebStorm编译器&#xff0c;打开Settings&#xff08;CtrlAltS&#xff09;搜live点击‘’号&#xff0c;选择第一个添加模板&#xff08;第二个是添加模板组&#xff09;输入命令触发代码输入命令描述输入命令代码选择使用该代码的场景&#xff08;我选的是…

vs code设置快捷键打印console.log

1. 在VScode中 文件 → 首选项 → 用户代码片段 → 在搜索框中搜索 JavaScript 选择 JavaScript.json prefix 是输入前缀就可以打出console.log了 cl是可以根据自己习惯修改 我使用cl有的时候会打出class 可以自行配置 {"Print to console": {"prefix&…

java打印快捷方式

java打印快捷方式 psvm回车 sout回车 package per.dxq.java.test2;public class demo1 {public static void main(String args[]) {//psvm回车键System.out.println();//sout回车键} }