web-dev-qa-db-ja.com

node-role.kubernetes.io/master:NoSchedule taintを削除します

Kubernetesクラスターのマスターノードからnode-role.kubernetes.io/master:NoSchedule taintを削除するには、どのCLIコマンドを入力できますか?

次のコマンドは失敗しています:

[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

これは、単一のマスターKubernetesクラスターのマスターノードをホストするAWS Linux 2ノードです。

3
CodeMed
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"
8
Ijaz Ahmad Khan

ノード構成を編集し、汚染部分をコメント化できます。

kubectl edit node <node_name>

taint jsonにコメントして終了します。ノードを更新します。

2
prashant

ドキュメントに従って 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-
0
srini