使用Skuber创建Kubernetes Pod时,如何定义与另一个Pod具有亲和力的Pod?
例如:
val podASpec = Pod.Spec( ..., affinity = podB )
val podBSpec = Pod.Spec( ..., affinity = podA )
答案 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
。