openshift将一个项目中的pod分配到特定节点

时间:2019-10-09 13:41:00

标签: kubernetes openshift

我的群集上有3个cpu节点和1个gpu节点。默认情况下, 项目应仅在指定给 gpu节点。我将defaultNodeSelector: "graphic=cpu"添加到了 master-config.yaml中的projectConfig部分来实现此目的。

现在当我创建一个DeploymentConfig并将其分配给GPU时出现的问题 使用节点选择器的节点,我得到错误pod node label selector conflicts with its project node label selector

我尝试删除defaultNodeSelector行并添加了 nodeSelectorLabelBlacklist: - graphic=gpu到PodNodeConstraints master-config.yaml中的部分,但这根本不起作用。尽管如此 配置计划到gpu节点的默认项目的pod:/

master-config.yaml

任何人都没有一个想法如何实现这些目标吗?

1 个答案:

答案 0 :(得分:1)

您在此处设置了集群范围的配置,该配置不能在Pod级别覆盖。

在这种情况下,最简单的解决方法可能是假设您还有其他要利用群集范围的配置的项目是编辑此特定项目的名称空间并设置openshift.io/node-selector: ""

对于该项目中的每个工作负载,然后在每个部署或Deploymentconfig中适当设置所需的节点。那应该为您解决问题。

也许,如果这不是您的一次性案例,请查看其他调度功能,例如taints and tolerationspod affinity