samsungsamsung 发表于 2018-1-5 13:20:42

kubernetes 调度相关

  nodeAffinity(主机亲和性),podAffinity(POD亲和性)以及podAntiAffinity(POD反亲和性)
  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也有可能被调度到对应的主机上。在之后的运行过程中,系统不会再检查这些规则是否满足。
页: [1]
查看完整版本: kubernetes 调度相关