pod的亲和性和反亲和性

pod的亲和性和反亲和性

调度策略: 匹配标签 操作符 拓扑域 调度目标

node的亲和性 主机标签 In Notin exists doesexists Gt Lt 不支持 指定主机

pod的亲和性 pod的标签 In Notin exists doesexists 支持 pod和指定标签的pod部署在同一拓扑域

pod的反亲和性 pod的标签 In Notin exists doesexists 支持 pod和指定标签的pod部署在不同拓扑域

拓扑域:k8s集群节点当中的一个组织结构,可以根据节点的物理关系或者逻辑关系进行划分,可以用来表示节点之间的空间关系,网络关系或者其他类型的关系

反亲和性:

注意点:

1、pod的亲和性策略,在配置时,必须要加上拓扑域的关键字topologykey,指向的是节点标签

2、pod亲和性的策略分为硬策略和软策略

3、pod亲和性的notln可以替代反亲和性

4、pod亲和性主要是为了相关联的pod部署在同一节点。lnmp

你在进行部署的时候怎么考虑node节点?

污点和容忍可以配合node的亲和性一块使用

污点:是node的调度机制,不是pod

被设为污点的节点,不会部署pod

污点和亲和性相反,亲和性是尽量选择和一定选择

污点的节点一定不被选择?

taint三种:

1、NoSchedule:k8s不会把pod调度到这个节点上

2、PreferNoschedule:如果污点类型他,尽量避免把pod部署在该节点上,不是一定(master节点的污点就是这个)

3、NoExecute:如果污点类型是他,k8s将会把该节点上的pod驱逐出去,而且也不会调度到这个节点

基于控制器创建的pod,虽然被驱逐,会在其他节点重新部署

自主pod会被直接杀死

注意点:节点服务器需要维护的,服务器关机,节点上pod将会失效。在工作中我们主要部署pod的方式控制器部署。deployment最多的,一旦节点设置为驱逐,控制器创建的pod会在其他节点重新部署

所有的pod都会被驱逐,跟命名空间无关,所有的一切都会被驱逐

不论你的创建方式是什么,都会被驱逐

系统集群组件不会被驱逐*

查看污点:kubectl describe nodes master01 | grep -i taints

设置污点:kubectl taint node node01 key=1:NoSchedule

去除污点:kubectl taint node01 key:NoSchedule-

容忍:即使节点上设置了污点,有了容忍机制,依然可以部署pod

特殊情况:NoExecute依然可以部署pod,但是有生命周期,时间一到,pod会被销毁,生命周期结束之后,会被驱逐一部分pod到其他节点,有的节点还是会保留在污点节点上

该节点维护完毕,测试以下节点的工作是否正常

加上容忍时间

tolerations:

-key:key

operator:Exists

指定key的值,指标节点的标签值,但是不指定污点的类型,那么所有节点上只要包含了这个指定的标签名,可以容忍所有的污点

node的亲和性

pod的亲和性和反亲和性

污点和容忍

如何选择node节点部署pod

选择一个期望的节点来部署pod

一旦节点恢复,一定要把污点去除

cordon和drain

cordon:可以直接把节点标记为不可用状态

drain:排水,把该节点下的pod全部转移到其他的node节点上运行

1、一旦执行drain,被执行的节点会变成不可调度状态

2、会驱逐该节点上的所有的pod

kubectl drain node02 --ignore-daemonsets --delete-local-data --force

drain:排水,标记node节点为不可调度,然后驱逐pod

--ignore-daemonsets:忽视daemonsets部署的pod,daemonsets部署的pod还在节点

--delete-local-data:有本地挂载卷的pod会被强制杀死

--force:强制释放不是控制器管理的pod

还是如何来管理和部署pod

node亲和性

pod的亲和性和反亲和性

污点:

NoExecute

相关推荐
腻害兔9 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
码智社10 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
萧瑟余晖11 小时前
JDK 26 新特性详解
java·开发语言
马优晨12 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
andxe12 小时前
安科士 AndXe 技术博客:400G QSFP112 SR4 光模块|AI 算力与超算短距互联最优方案
网络·人工智能·光模块·光通信
shiyi.十一13 小时前
第2章:应用层 — 知识要点与架构
网络·计算机网络·架构
DFT计算杂谈13 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
水境传感 李兆栋13 小时前
GNSS 位移监测站 :毫米级感知,筑牢安全监测防线
网络
张忠琳14 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
维天说14 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json