kubectl
コマンドを使って Label(ラベル) や Annotation(アノテーション)を削除する場合,削除用のオペレーションはなく,キー名の末尾に -
を付けて登録をする必要がある.具体的には bar-
や description-
というキー名を指定すると削除できる.以下のドキュメント「kubectl Command Reference」にも載っている.今回は kind で構築した Kubernetes v1.19.1 のクラスターを使って検証した内容をまとめておく!
$ kubectl label pods foo bar-
$ kubectl annotate pods foo description-
Label を削除する : Node と Pod
まず,Node kind-worker
に Label my-label=hello
を登録する.kubectl get
コマンドで --label-columns
もしくは -L
オプションを使うと指定したラベルを表示できる.ポイントは Label を削除する部分で kubectl label nodes kind-worker my-label-
というコマンドになる.my-label-
を指定している.
# Node $ kubectl label nodes kind-worker my-label=hello node/kind-worker labeled $ kubectl get nodes kind-worker -L my-label NAME STATUS ROLES AGE VERSION MY-LABEL kind-worker Ready <none> 5m v1.19.1 hello $ kubectl label nodes kind-worker my-label- node/kind-worker labeled $ kubectl get nodes kind-worker -L my-label NAME STATUS ROLES AGE VERSION MY-LABEL kind-worker Ready <none> 6m v1.19.1
Pod でも同じように確認する.Label を削除するときは kubectl label pods nginx my-label-
というコマンドになる.
# Pod $ kubectl label pods nginx my-label=hello pod/nginx labeled $ kubectl get pods nginx -L my-label NAME READY STATUS RESTARTS AGE MY-LABEL nginx 1/1 Running 0 20s hello $ kubectl label pods nginx my-label- pod/nginx labeled $ kubectl get pods nginx -L my-label NAME READY STATUS RESTARTS AGE MY-LABEL nginx 1/1 Running 0 40s
Annotation を削除する : Node と Pod
次に Node kind-worker
に Annotation my-annotation=hello
を登録する.kubectl get
コマンドのオプションで Annotation を表示することはできないため,今回は custom-columns
フォーマットを使う.ポイントは Annotation を削除する部分で kubectl annotate nodes kind-worker my-annotation-
というコマンドになる.my-annotation-
を指定している.
# Node $ kubectl annotate nodes kind-worker my-annotation=hello node/kind-worker annotated $ kubectl get nodes kind-worker -o custom-columns=Name:metadata.name,ANNOTATIONS:metadata.annotations.my-annotation Name ANNOTATIONS kind-worker hello $ kubectl annotate nodes kind-worker my-annotation- node/kind-worker annotated $ kubectl get nodes kind-worker -o custom-columns=Name:metadata.name,ANNOTATIONS:metadata.annotations.my-annotation Name ANNOTATIONS kind-worker <none>
Pod でも同じように確認する.Annotation を削除するときは kubectl annotate pods nginx my-annotation-
というコマンドになる.
# Pod $ kubectl annotate pods nginx my-annotation=hello pod/nginx annotated $ kubectl get pods nginx -o custom-columns=Name:metadata.name,ANNOTATIONS:metadata.annotations.my-annotation Name ANNOTATIONS nginx hello $ kubectl annotate pods nginx my-annotation- pod/nginx annotated $ kubectl get pods nginx -o custom-columns=Name:metadata.name,ANNOTATIONS:metadata.annotations.my-annotation Name ANNOTATIONS nginx <none>