在唯一节点上部署 Kubernetes pods
Deploy Kubernetes pods on unique nodes
有没有办法在 Kubernetes 中的唯一节点上部署副本集?
我在 Kubernetes NodeSelectors、(反)亲和力等方面可以找到的所有文档似乎都与指定您希望或不希望 pods 打开的特定节点有关。我不介意我的 pods 在哪个节点上,我只是不想在同一个部署中部署两个 pods -- 我想将它们分散开来。
这似乎是一件很简单的事情——在 Mesos 中你可以应用像 "HOSTNAME: unique" 这样的约束来实现它——但我找不到 Kubernetes 的等价物。有人可以帮忙吗?
与您问题下方评论中描述的第一个答案相反,我认为正确的方法是按照 in the docs 所述定义 pod anti-affinity
。更准确地说:
The rules are of the form “this pod should (or, in the case of anti-affinity, should not) run in an X if that X is already running one or more pods that meet rule Y”.
欢迎分享您的场景详细信息,以便提出解决方案。当然,如果你想 运行 只在计算平面或计算 + 控制平面上部署你会选择 Deployment
resp。 DaemonSet
如果是后者。
有没有办法在 Kubernetes 中的唯一节点上部署副本集?
我在 Kubernetes NodeSelectors、(反)亲和力等方面可以找到的所有文档似乎都与指定您希望或不希望 pods 打开的特定节点有关。我不介意我的 pods 在哪个节点上,我只是不想在同一个部署中部署两个 pods -- 我想将它们分散开来。
这似乎是一件很简单的事情——在 Mesos 中你可以应用像 "HOSTNAME: unique" 这样的约束来实现它——但我找不到 Kubernetes 的等价物。有人可以帮忙吗?
与您问题下方评论中描述的第一个答案相反,我认为正确的方法是按照 in the docs 所述定义 pod anti-affinity
。更准确地说:
The rules are of the form “this pod should (or, in the case of anti-affinity, should not) run in an X if that X is already running one or more pods that meet rule Y”.
欢迎分享您的场景详细信息,以便提出解决方案。当然,如果你想 运行 只在计算平面或计算 + 控制平面上部署你会选择 Deployment
resp。 DaemonSet
如果是后者。