本文主要快速讲解Kube.NETes的亲和性调度 和 反亲和性调度,通过理论结合实际的方式,让理解更深刻 。
【10分钟搞懂K8S的亲和与反亲和调度】首先来个一句话总结:亲和性调度就像关系亲密的闺蜜,你去哪儿我也去哪儿 。反亲和性调度就像赌气的两个孩子,赌气永远不在一起玩儿 。更多解释和实战详见下文 。花10分钟看到最后,你肯定会有收获 。
1、调度Pod的主要方式Pod调度到指定Node的方式主要有4种:
- nodeName调度:直接在Pod的yaml编排文件中指定
nodeName
,调度到指定name的节点上 。 - nodeSelector调度:直接在Pod的yaml编排文件中指定
nodeSelector
,调度到带有指定label
的节点上 。 - 污点(TAInts)和容忍度(Tolerations)调度:详见文章《5分钟搞懂K8S的污点和容忍度(理论+实战)》 。主要通过在Node节点上打污点 , 然后在Pod的yaml编排文件中配置容忍度,来实现调度 。
- 亲和-反亲和调度:见下文讲解 。
nodeName调度
、nodeSelector调度
、污点(Taints)和容忍度(Tolerations)调度
,为什么还需要亲和-反亲和调度
呢?为了更灵活更复杂的调度方式 。比如有些场景想把2个Pod 调度到一台节点上,有的场景为了隔离性高可用性想把2个Pod分开到不同节点上,或者有的场景想把Pod调度到指定的一些特点节点上 。
3、亲和调度的前置概念(重要)
-
label
在K8S中是非常重要的概念,不管是什么场景,只要和选择、筛选相关的,基本是用label
字段来匹配的 。 - 亲和性和反亲和性的调度,筛选的条件依旧用的是Node的
label
字段 。 - 不管是Node亲和性调度,还是Pod亲和性调度,
推荐阅读
- 十分钟搞懂K8S的亲和与反亲和调度
- 一文搞懂基于 OpenTelemetry 进行 Kubernetes 全链路观测
- 木耳泡10分钟可以吃吗 木耳用冷水泡10分钟可以吗
- 惊为天人!看到杨颖飞天造型,我直呼:这真是10分钟拍出来的吗
- 放弃亚马逊、谷歌,彻底告别K8s!
- 大白话说明白K8S的PV / PVC / StorageClass
- 白酒煮沸10分钟还有酒精吗 白酒煮沸10分钟还有酒精吗孕妇可以吃吗
- 孟美岐10分钟舞台表演,像王者又美又飒,给嘲讽她的人予以反击。
- 10分钟早餐让你变窈窕
- K8s 多集群实践思考和探索