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

相关推荐
wifi___3 小时前
全局异常处理的原理
java·开发语言
2601_963870207 小时前
【计算机毕业设计】基于Spring Boot的专科医院医疗管理系统
java·spring boot·课程设计
Bingo_BIG7 小时前
Java Spring 批量修改,实体、接口、方法的定义
java·spring
画中有画8 小时前
软件架构中质量属性(性能、安全、可扩展性)的权衡设计
java·运维·安全
Shaoxi Zhang8 小时前
JAVA学习笔记035——对象和JSON格式
java·笔记·学习
赵丙双8 小时前
CountDownLatch 源码分析
java·aqs·countdownlatch
hoaxxcj8 小时前
零能力 Agent 骗过评测实测:朴素 harness 被骗 75%,加固后仍漏掉「抄答案」
网络·安全·大模型·工程化·ai实战
xrlfreedom8 小时前
大厂 MCP 面试实录:内部 REST API 封装为可审计 MCP Tools 的落地方案
docker·mcp·提示注入防护
余额瞒着我当琳8 小时前
C++--深拷贝三件套 + swap + 写时拷贝 + vector 扩容 + reserve
java·开发语言·c++
thefool1122668 小时前
翻转二叉树
java