kubernetes 如何在GKE集群中调度两个节点池之间的Pod

y53ybaqx  于 2023-06-21  发布在  Kubernetes
关注(0)|答案(1)|浏览(104)

我有2池在我的GKE集群默认池(2个节点),临时池(3个节点).我现在有4个pod副本,我的要求是至少****至少有一个pod必须在默认池上计划,其强制性**(不是所有pod都应该在默认池上计划)**其他pod可以在临时池上计划
我尝试使用nodeaffinity,topologySpreadConstraints规范,但有时候pod没有在default-pool上调度
在Kubernetes中有没有实现这一点的方法

93ze6v8z

93ze6v8z1#

节点亲和性允许您根据节点上的标签来限制您的pod有资格在哪些节点上进行调度。
由于您需要它们不会出现在同一个节点上,因此可以使用AntiAffinity沿着使用preferredDuringSchedulingIgnoredDuringExecution的加权节点池首选项。
或在topologySpreadConstraints上尝试此规范

spec:
  topologySpreadConstraints:
  - maxSkew: 1
    topologyKey: zone
    whenUnsatisfiable: DoNotSchedule
    labelSelector:
      matchLabels:
        node: temp-pool

相关问题