斯库伯的Pod Affinity

时间:2019-12-19 13:03:21

标签: scala kubernetes

使用Skuber创建Kubernetes Pod时,如何定义与另一个Pod具有亲和力的Pod?

例如:

val podASpec = Pod.Spec( ..., affinity = podB )
val podBSpec = Pod.Spec( ..., affinity = podA )

1 个答案:

答案 0 :(得分:0)

首先,确定要使用的topologyKey。如果您希望在每个不同的节点上都可以使用亲缘关系,则可以使用kubernetes.io/hostname

您可以像这样创建Skuber Pod Affinity:

import skuber.Pod.Affinity
import skuber.Pod.Affinity.{PodAffinity, PodAffinityTerm}
import skuber.LabelSelector.dsl._

val podAffinty = PodAffinity( List(PodAffinityTerm(
  Some(LabelSelector("myLabel" is "something")),
  List("my-namespace"),
  topologyKey
)))
val affinity = Some( Affinity(None, Some( podAffinty ) ) )

并在创建affinity=affinity时传递Pod.Spec