首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes:如何确保Pod A只在Pod B运行的节点上结束

Kubernetes:如何确保Pod A只在Pod B运行的节点上结束
EN

Stack Overflow用户
提问于 2020-03-26 16:38:54
回答 2查看 1K关注 0票数 0

我有两个用例,团队只希望Pod A在Pod B运行的节点上结束。他们通常有很多的Pod B副本运行在一个节点上,但是他们只希望在同一个节点上运行一个Pod A副本。

目前,他们正在使用守护集来管理Pod A,这是无效的,因为Pod A在许多节点上结束,而Pod B没有运行。我不想限制节点的标签,因为这将限制Pod B的节点容量(也就是说,如果我们有100个节点,20被标记,那么Pod B的可能容量仅为20)。

简单地说,我如何确保在任何节点上运行一个Pod A副本,同时至少运行一个Pod B副本?

EN

回答 2

Stack Overflow用户

发布于 2020-03-26 17:52:21

当前的调度程序实际上没有类似的内容。你需要自己写点东西。

票数 1
EN

Stack Overflow用户

发布于 2020-03-27 11:31:49

正如coderanger调度程序已经解释过的那样,它不支持此功能。理想的解决方案是创建自己的调度程序来支持这样的功能。

但是,您可以使用podAffinity来在同一个节点上部分调度豆荚。

代码语言:javascript
复制
spec:
  affinity:
    podAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - weight: 100
        podAffinityTerm:
          labelSelector:
            matchExpressions:
            - key: app
              operator: In
              values:
              - <your_value>
          topologyKey: "kubernetes.io/hostname"

它将尽量把吊舱安排得尽可能紧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60871980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档