可以通过以下步骤为daemonset添加nodeselector配置并调度到没有b=true标签的节点:
- 编辑daemonset.yaml文件,添加nodeSelector字段,并将其设置为对应的值,例如:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: my-daemonset
spec:
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
nodeSelector:
b: false # 添加这个标签
containers:
- name: my-container
image: my-image
ports:
- containerPort: 80
使用kubectl apply命令来更新daemonset的配置:
kubectl apply -f daemonset.yaml
如果当前有运行中的pod,需要删除它们以便他们能够重新调度:
$ kubectl delete pods -l app=my-app
- 等待一段时间,直到新的pod开始运行在没有b=true标签的节点上。可以使用以下命令检查pod的状态:
$ kubectl get pods -l app=my-app
注意:如果没有可用的没有b=true标签的节点,pod将会处于Pending状态。可以使用kubectl describe pod