Kubernetes 通过命令应用 nodeSelector
Kubernetes apply nodeSelector via command
有没有办法通过命令应用 nodeSelector? (喜欢kubectl apply
)
如果它适用于 运行 部署或命名空间,那就太好了,否则适用于 运行 pods 也很好。
如有任何提示,我们将不胜感激
你可以使用 kubectl patch 命令,像这样:
kubectl patch deployments nginx-deployment -p '{"spec": {"template": {"spec": {"nodeSelector": {"kubernetes.io/hostname": "node-2"}}}}}'
成功修补后,所有 pods 部署将在与选择器匹配的节点上重新启动。
确保在命令中包含规范并使用 patch command
{
"spec": {
"template": {
"spec": {
"containers": [
{
"name": "patch-demo-ctr-2",
"image": "redis"
}
]
}
}
}
}
kubectl patch deployment patch-demo --patch-file patch-file.yaml
kubectl patch deployment patch-demo --patch 'spec:\n template:\n spec:\n containers:\n - name: patch-demo-ctr-2\n image: redis'
kubectl patch deployment patch-demo --patch-file patch-file.json
kubectl patch deployment patch-demo --patch '{"spec": {"template": {"spec": {"containers": [{"name": "patch-demo-ctr-2","image": "redis"}]}}}}'
您必须确保要定位的节点可以在其上安排 pods。默认主节点(master-0)无法执行此操作,请使用以下命令删除其污点:
[kubectl taint node master-0 node-role.kubernetes.io/master:NoSchedule-]
确保使用与您的 kubernetes 版本匹配的 API 版本。
使用
检查您的版本
[kubectl api-versions]
有没有办法通过命令应用 nodeSelector? (喜欢kubectl apply
)
如果它适用于 运行 部署或命名空间,那就太好了,否则适用于 运行 pods 也很好。
如有任何提示,我们将不胜感激
你可以使用 kubectl patch 命令,像这样:
kubectl patch deployments nginx-deployment -p '{"spec": {"template": {"spec": {"nodeSelector": {"kubernetes.io/hostname": "node-2"}}}}}'
成功修补后,所有 pods 部署将在与选择器匹配的节点上重新启动。
确保在命令中包含规范并使用 patch command
{
"spec": {
"template": {
"spec": {
"containers": [
{
"name": "patch-demo-ctr-2",
"image": "redis"
}
]
}
}
}
}
kubectl patch deployment patch-demo --patch-file patch-file.yaml
kubectl patch deployment patch-demo --patch 'spec:\n template:\n spec:\n containers:\n - name: patch-demo-ctr-2\n image: redis'
kubectl patch deployment patch-demo --patch-file patch-file.json
kubectl patch deployment patch-demo --patch '{"spec": {"template": {"spec": {"containers": [{"name": "patch-demo-ctr-2","image": "redis"}]}}}}'
您必须确保要定位的节点可以在其上安排 pods。默认主节点(master-0)无法执行此操作,请使用以下命令删除其污点:
[kubectl taint node master-0 node-role.kubernetes.io/master:NoSchedule-]
确保使用与您的 kubernetes 版本匹配的 API 版本。 使用
检查您的版本[kubectl api-versions]