k8s节点亲和性文档解释了如何通过首先使用标签标记节点并使用 nodeSelector 选择节点来将 pod 部署到特定节点。
但是,我有一个用例,我在集群中有 40-50 个部署,我想向集群添加一个新节点并将该节点设置为专用于其中一个部署/pod,而不更改所有那些没有的部署指定的任何 nodeSelector
例如,假设我有 3 个部署,没有定义 nodeSelector 和 3 个工作节点。这意味着 k8s 决定 pod 的部署位置,并且可以部署在这 3 个节点之一中。现在我必须创建第 4 个部署,并添加第 4 个服务器,我想将第 4 个部署专用于第 4 个服务器,并且还想确保 k8s 不会将前 3 个部署安排到第 4 个节点。如果不通过所有这 3 个部署方案并应用 nodeSelector 过滤器不部署在第 4 个节点上,我该如何做到这一点?(可以在 3 个部署上执行此更改,但我说的是现实生活场景中的 50 次部署)
我唯一能想到的就是污染节点,但如果我这样做,则不会在那里安排任何 Pod。
这里有没有更好的方法来实现我不知道的这个目标?