问题标签 [nodeselector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
377 浏览

kubernetes - Kubernetes 节点亲和性 - 将 pod 分配给特定节点?

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。

这里有没有更好的方法来实现我不知道的这个目标?

0 投票
1 回答
343 浏览

amazon-web-services - 部署不在 nodeSelector Kubernetes 中

我有一个具有 2 个节点的集群,其中一个节点被标记为节点选择器的“SS”。

我有三个服务,一个服务应该部署在节点选择器节点中(这是正确发生的),另外两个服务应该部署在另一个节点中

如何部署剩余的服务应该部署在一个节点(没有被标记)?

我不想将节点选择器也用于其他两个服务。

0 投票
1 回答
177 浏览

kubernetes - 如何在 kubernetes 中按顺序在多个节点上运行 cronjob?

我有两种不同类型的工作节点,一种是做数据准备的,一种是做机器学习的。
我想运行一个 Cronjob,它在准备节点上运行一个进程,然后(仅在完成时)在 ML 节点上运行第二个进程。
我如何在 Kubernetes 中做到这一点?

0 投票
2 回答
187 浏览

kubernetes - 是否有一行 kubectl 命令可以在 pod yaml 中添加 nodeSelector?

我想知道是否有一行 kubectl 命令可以在 pod yaml 中添加 nodeSelector?(我已经在节点上附加了一个标签)我正在尝试自动执行此操作,因此我想避免手动下载 yaml 文件并添加 nodeSelector。任何使用 sed 或 kubectl replace 的想法将不胜感激。

0 投票
1 回答
133 浏览

kubernetes - 在 kubernetes v1.21.0 的 apiserver 清单文件中包含额外的标志似乎没有任何效果

我正在尝试将以下两个标志添加到 /etc/kubernetes/manifests/kube-apiserver.yaml 文件中的 apiserver:

我没有为 /vagrant/admission-control.yaml 文件安装卷或安装点。它完全可以从节点主节点访问,因为它由 vagrant 创建的 VM 共享:

Kubernetes 版本:

链接到正在运行的集群正在使用的 /etc/kubernetes/manifests/kube-apiserver.yaml 文件这里

不幸的是,“kubectl describe pods kube-apiserver-master-1 -n kube-system”仅告知该 pod 已重新创建。标志未按需要显示。没有报告错误。

任何建议都会有所帮助,

谢谢你。

笔记:

  1. 我还尝试在 apiserver 的 configmap 上打一个补丁。补丁已应用,但不会在新运行的 Pod 中生效。
  2. 我还尝试通过 kubeadm init --config 在一个文件中传递这两个标志,但是关于如何将这两个标志以及我需要的所有其他 apiserver 的所有其他标志放在配置文件中以便重新安装的文档很少主节点。

更新:

我希望这对面临同样问题的每个人都有用......

经过 2 天的互联网搜索和大量测试后,我只能通过以下程序使其工作:

0 投票
0 回答
139 浏览

kubernetes - 使用节点选择器的 Kubernetes Pod AntiAffinity 行为

我有一个 K8s 部署,其规范中有节点选择器和硬 pod 反亲和性。节点选择器将 Pod 部署限制在一个节点池中,而反亲和性限制没有两个标签为“App: test-pool”的 pod 被安排在一起。

观察

目标节点池有 9 个具有唯一标签值的节点,节点选择器使用该标签值来定位 pod 部署。当我有 9 个部署副本时,所有副本都安排在不同的节点上,我认为这是由于反亲和性。但是,一旦我将副本增加到 10,我看到第 10 个 pod 也成功部署在节点池中的 9 个节点之一上,从而忽略了硬反关联规则。以下是depoyment的片段:

期待

我期待参考反关联规则的调度失败。有人可以解释为什么在调度过程中忽略了 pod 反关联规则。

0 投票
1 回答
563 浏览

kubernetes - 如何将 nodeSelector 添加到部署 yaml 文件?

在 pod 定义中,我们将 nodeSelector 添加为 spec 的子节点。但我不确定如何在部署 yaml 文件中添加它

我们应该将它添加到模板的规范中吗?

还是我们需要在部署规范中添加它 -

0 投票
1 回答
30 浏览

go - 有什么方法可以使用 golang api 为 pod 设置节点选择器

基本上需要一种使用 GoLang API 为 Pod 设置节点选择器的方法

Pod.Spec.NodeSelector["failure-domain.beta.kubernetes.io/zone"] = zone出现错误

0 投票
1 回答
88 浏览

kubernetes - EKS nodeSelector 导致挂起的 pod

nodeSelector在我的 Kubernetes 清单中使用时遇到问题。我在 EKS 中有一个带有标签的节点组eks.amazonaws.com/nodegroup=dev-nodegroup。这个节点有一个名称和对应的 ip,就像在 AWS 中一样。如果我nodeName在清单中设置,一切正常,并且 pod 部署在相应的节点中,但是当我这样做时:

在我的清单中,在与 相同的缩进containers级别FailedScheduling

难道我做错了什么?我还想将zone标签添加到节点选择器,但它会产生同样的问题。

“没有可用磁盘”是什么意思?我已经检查了我的节点,df -h并且有足够的可用磁盘空间。我已经看到其他问题的输出是节点无法访问或有一些污点,我的没有。

任何帮助是极大的赞赏。

编辑

我在 pod 中安装了一个卷,如下所示:

由于 EBS 仅部署在一个中,zone因此我还需要设置zone选择器。

我也有这个 storageClass (刚刚注意到它):

编辑2

我的集群只有一个节点组和一个节点,以防这也有帮助。

0 投票
2 回答
70 浏览

jenkins - GKE jenkins kubernetes 插件节点选择器不起作用

我正在使用 Jenkins 使用 kubernetes插件版本 1.30.3 将我的 Docker 映像部署到 GKE。到目前为止它工作正常。但现在我试图通过添加节点选择器在 GKE 中选择一个已定义的节点池,但这对我不起作用。这是我的 Jenkins 文件中 podTemplate 的定义:

你知道为什么这不起作用吗?

我已经检查了结果 pod yaml,它不包括定义的nodeSelector...