首页 > 解决方案 > 将部署匹配到特定的节点池

问题描述

我正在寻找是否可以将特定部署分配给特定节点池的方法。

我打算使用 kubernetes 部署一个大型应用程序。我想知道是否有一种方法可以将部署分配给特定的节点池。换句话说,我们有 3 种类型的服务:

所以很明显,我们希望最好地将节点分配给特定的部署,这样就不会浪费资源,例如低层服务器节点池 X 将仅由通用服务部署使用,高层服务器节点池 Y 将仅由监控服务使用,并且最高层的服务器只会被模块服务使用。

我知道有大量文章讨论 pod 亲和力和其他相关内容,但我似乎无法找到与以下内容匹配的任何内容: How to assign Deployment to specific node pool

提前致谢!

标签: kubernetesdeploymentdevops

解决方案


另一种方法(除了 Yayotron 提出的)是使用 NodeAffinity 和 AntiAffinity。有关更多信息,请查看此处的官方文档:https ://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/

污点和容忍度非常严格,根本不可能在其他节点上进行调度。使用 Affinity 和 Antiaffinity,您可以指定您希望它是严格的 (RequiredDuringSchedulingIgnoredDuringExecution) 还是软限制 (PreferredDuring....)


推荐阅读