我想知道是否有一行 kubectl 命令可以在 pod yaml 中添加 nodeSelector?(我已经在节点上附加了一个标签)我正在尝试自动执行此操作,因此我想避免手动下载 yaml 文件并添加 nodeSelector。任何使用 sed 或 kubectl replace 的想法将不胜感激。
问问题
187 次
2 回答
2
您可以添加nodeSelector
pod 规格。
正如 k8s文档:nodeSelector 是最简单的节点选择约束推荐形式。nodeSelector 是 PodSpec 的一个字段。它指定键值对的映射。为了使 pod 有资格在节点上运行,节点必须将每个指示的键值对作为标签(它也可以有额外的标签)。最常见的用法是一个键值对。
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
env: test
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
nodeSelector:
disktype: ssd
更新
我找到了一种方法来做到这一点:
kubectl run --generator=run-pod/v1 -ti --rm test --image=ubuntu:20.04 --overrides='{"spec": { "nodeSelector": {"nodename": "test-node"}}}'
于 2021-02-25T20:41:14.853 回答
0
仅供参考,我最终使用了这个命令 kubectl patch deployments DEPLOYMENTNAME -p '{"spec": {"template": {"spec": {"nodeSelector": {"YOURLABEL": "YOURVALUE"}}}}}
于 2021-02-26T20:00:47.700 回答