如何使用YAML文件实现相同的命令,以便可以执行kubectl apply -f
?下面的命令有效并且有污点,但是我无法弄清楚如何通过清单文件使用它。
$ kubectl taint nodes \
172.4.5.2-3a1d4eeb \
kops.k8s.io/instancegroup=loadbalancer \
NoSchedule
答案 0 :(得分:2)
使用>>
选项并保存生成的YAML文件,并确保删除状态和一些其他内容,这将应用taint,但会为您提供可用于以后进行{{1 }},并将其保存到版本控制中(即使您从命令行创建资源,然后再获取yaml并应用它,它也不会重新创建资源,因此很好)
注意:大多数命令都支持>>>
,这只会生成yaml而不创建资源,但是在这种情况下,我无法使其与{{1 }},可能是此命令不支持该标志。
-o yaml
然后将yaml与kubectl套用:
kubectl apply -f
答案 1 :(得分:0)
我的集群中有两个节点,请看标签
kubectl get nodes --show-labels
NAME STATUS ROLES AGE VERSION LABELS
172.16.2.53 Ready node 7d4h v1.19.7 type=primary
172.16.2.89 Ready node 33m v1.19.7 type=secondary
假设我想用“172.16.2.89”污染节点名称
kubectl taint node 172.16.2.89 type=secondary:NoSchedule
node/172.16.2.89 tainted
示例 -
kubectl taint node <node-name> <label-key>=<value>:NoSchedule
我的集群中有两个节点,请看标签
<块引用>NoExecute 表示 pod 将从节点中驱逐。
<块引用>NoSchedule 表示调度器不会将 Pod 放到节点上