删除node-role.kubernetes.io/master:NoSchedule污点

时间:2019-03-15 23:41:31

标签: kubernetes kubectl kubeadm

我可以键入什么CLI命令以从Kubernetes集群的主节点上删除node-role.kubernetes.io/master:NoSchedule异物?

以下命令失败:

[lnxcfg@ip-10-0-0-193 ~]$ kubectl taint nodes $(kubectl get nodes --selector=node-role.kubernetes.io/master | awk 'FNR==2{print $1}') key:node-role.kubernetes.io/master:NoSchedule-
error: invalid taint effect: node-role.kubernetes.io/master, unsupported taint effect

如下所示,我可以使用以下命令成功获取主节点的名称,该命令也嵌入在上述失败的命令中:

[lnxcfg@ip-10-0-0-193 ~]$ kubectl get nodes --selector=node-role.kubernetes.io/master | awk 'FNR==2{print $1}'
ip-10-0-0-193.us-west-2.compute.internal

这是一个AWS Linux 2节点,托管单个主Kubernetes集群的主节点。

4 个答案:

答案 0 :(得分:2)

以下命令可用于从节点中删除污点。

kubectl taint nodes controlplane node-role.kubernetes.io/master:NoSchedule- 

答案 1 :(得分:1)

kubectl taint nodes $(hostname) node-role.kubernetes.io/master:NoSchedule-

但是您也可以在主节点上进行调度,而不必去除污点:

apiVersion: extensions/v1beta1
kind: Deployment
...
  spec:
...
    spec:
...
      tolerations:
        - key: "node-role.kubernetes.io/master"
          effect: "NoSchedule"
          operator: "Exists"

答案 2 :(得分:1)

您可以编辑节点配置并注释异味部分。

kubectl edit node <node_name>

一旦您评论了taint json并退出。它将更新节点。

答案 3 :(得分:0)

根据文档https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#taint

这应该有效。

kubectl taint nodes $(kubectl get nodes --selector=node-role.kubernetes.io/master | awk 'FNR==2{print $1}') node-role.kubernetes.io/master-