kubernetes 调度相关

nodeAffinity(主机亲和性),podAffinity(POD亲和性)以及podAntiAffinity(POD反亲和性)node

nodeAffinity使用场景 :
● 将S1服务的全部Pod部署到指定的符合标签规则的主机上。
● 将S1服务的全部Pod部署到除部分主机外的其余主机上。
podAffinity使用场景 :
● 将某一特定服务的pod部署在同一拓扑域中,不用指定具体的拓扑域。
● 若是S1服务使用S2服务,为了减小它们之间的网络延迟(或其它缘由),把S1服务的POD和S2服务的pod部署在同一拓扑域中。
podAntiAffinity使用场 景:
● 将一个服务的POD分散在不一样的主机或者拓扑域中,提升服务自己的稳定性。
● 给POD对于一个节点的独占访问权限来保证资源隔离,保证不会有其它pod来分享节点资源。
● 把可能会相互影响的服务的POD分散在不一样的主机上。网络


对于亲和性和反亲和性,每种都有三种规则能够设置:
RequiredDuringSchedulingRequiredDuringExecution :在调度期间要求知足亲和性或者反亲和性规则,若是不能知足规则,则POD不能被调度到对应的主机上。在以后的运行过程当中,若是由于某些缘由(好比修改label)致使规则不能知足,系统会尝试把POD从主机上删除(如今版本还不支持)。
RequiredDuringSchedulingIgnoredDuringExecution :在调度期间要求知足亲和性或者反亲和性规则,若是不能知足规则,则POD不能被调度到对应的主机上。在以后的运行过程当中,系统不会再检查这些规则是否知足。
PreferredDuringSchedulingIgnoredDuringExecution :在调度期间尽可能知足亲和性或者反亲和性规则,若是不能知足规则,POD也有可能被调度到对应的主机上。在以后的运行过程当中,系统不会再检查这些规则是否知足。ui

相关文章
相关标签/搜索