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ノードです。
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"
ノード構成を編集し、汚染部分をコメント化できます。
kubectl edit node <node_name>
taint jsonにコメントして終了します。ノードを更新します。
ドキュメントに従って 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-