在不同节点上设置副本

Vin*_*ade 5 kubernetes

我正在开发一个用于处理 kubernetes 运行时微服务的应用程序。我实际上做了一些很酷的事情,比如将微服务从一个节点移动到另一个节点。问题是所有副本都在一起。

因此,想象一个微服务有两个副本,并且它在具有两个节点的命名空间上运行。

我想在每个节点设置一个副本。那可能吗?即使在 yaml 文件中,这可能吗? 我正在尝试做我自己的调度程序来做到这一点,但到目前为止我还没有成功。

谢谢你们

小智 0

我认为您正在寻找的是副本集的 NodeSelector。从文档中:

Pod 间亲和性和反亲和性允许您根据已在节点上运行的 Pod 上的标签(而不是基于节点上的标签)来限制您的 Pod 有资格调度哪些节点。

这是文档:https: //kubernetes.io/docs/concepts/configuration/assign-pod-node/#inter-pod-affinity-and-anti-affinity-beta-feature

  • 有道理。副本集中的所有副本都完全相同,对吗?如果是这样,只要所有副本都位于不同的节点上,哪个副本位于特定节点上就无关紧要了。如果副本不同,那么您可能应该为不同的副本使用不同的副本集。 (2认同)