18

What CLI command can I type to remove the node-role.kubernetes.io/master:NoSchedule taint from the master node in a Kubernetes cluster?

The following command is failing:

[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

As you can see below, I am able to get the name of the master node successfully by using the following command, which is also embedded in the above failing command:

[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

This is an AWS Linux 2 node hosting the master node of a single master Kubernetes cluster.

CodeMed
  • 9,527
  • 70
  • 212
  • 364

4 Answers4

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

But you can also schedule on master node without removing the taint:

apiVersion: extensions/v1beta1
kind: Deployment
...
  spec:
...
    spec:
...
      tolerations:
        - key: "node-role.kubernetes.io/master"
          effect: "NoSchedule"
          operator: "Exists"
Ijaz Ahmad
  • 11,198
  • 9
  • 53
  • 73
10

Below command can be used to remove taint from node.

kubectl taint nodes controlplane node-role.kubernetes.io/master:NoSchedule- 
Dhiraj Bansal
  • 417
  • 3
  • 8
7

you can edit node configuration and comment the taint part.

kubectl edit node <node_name>

once you comment the taint json and exit. It would update the node.

prashant
  • 2,808
  • 5
  • 26
  • 41
0

as per documentation https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#taint

this should work.

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