Remove node-role.kubernetes.io/master:NoSchedule taint

CodeMed picture CodeMed · Mar 16, 2019 · Viewed 15k times · Source

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.

Answer

Ijaz Ahmad Khan picture Ijaz Ahmad Khan · Mar 16, 2019
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"