kuber-scheduler亲和性反亲和性简要说明

亲和性和反亲和性是运行时调度策略,主要包括nodeAffinity(主机亲和性)、podAffinity(pod亲和性)、podAntiAffinity(pod反亲和性)三类。

  • nodeAffinity:用于规定pod可以部署在哪个node或者不能部署在哪个节点上。解决pod和主机的问题。
  • podAffinity:用于规定pod可以和哪些pod部署在同一拓扑结构下。
  • podAntiAffinity:用于规定pod不可以和哪些pod部署在同一拓扑结构下,与podAffinity一起解决pod和pod之间的关系。

三种Affinity使用时都有三种规则可以设定:

  • RequiredSchedulingRequiredExecution:该规则表示,在首次调度时一定要满足相应的Affinity规则,如果没有满足条件的node将不会进行调度。在pod运行过程中如果不再满足相应的Affinity规则,会进行重新调度。
  • RequiredSchedulingIgnoredExecution:该规则表示,在首次调度时需要满足相应的Affinity规则,如果没有满足条件的node将不会进行调度。在后续pod的运行过程中不在检查这些规则是否满足。
  • PreferedSchedulingIgnoredExecution:该规则表示,在首次调度时尽量满足相应的Affinity规则,如果没有满足要求的node也会进行调度。后续pod的运行过程中不再检查是否满足。

你可能感兴趣的:(kubernetes,原理解读)