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

相关推荐
handsome_sai17 分钟前
【Java 线程池】记录
java
大学生资源网1 小时前
基于springboot的唐史文化管理系统的设计与实现源码(java毕业设计源码+文档)
java·spring boot·课程设计
guslegend1 小时前
SpringSecurity源码剖析
java
roman_日积跬步-终至千里2 小时前
【人工智能导论】02-搜索-高级搜索策略探索篇:从约束满足到博弈搜索
java·前端·人工智能
没有bug.的程序员2 小时前
单体 → 微服务演进路径:一个真实电商项目的渐进式转型
jvm·微服务·云原生·架构·电商·gc调优
大学生资源网2 小时前
java毕业设计之儿童福利院管理系统的设计与实现(源码+)
java·开发语言·spring boot·mysql·毕业设计·源码·课程设计
JasmineWr2 小时前
JVM栈空间的使用和优化
java·开发语言
Hello.Reader2 小时前
Flink SQL DELETE 语句批模式行级删除、连接器能力要求与实战避坑(含 Java 示例)
java·sql·flink
爱笑的眼睛112 小时前
从 Seq2Seq 到 Transformer++:深度解构与自构建现代机器翻译核心组件
java·人工智能·python·ai
Spring AI学习3 小时前
Spring AI深度解析(10/50):多模态应用开发实战
java·spring·ai