zaki work log

作業ログやら生活ログやらなんやら

[kubectl] アノテーションの編集はラベルと全く同じ要領でkubectl annotateで更新する

デプロイ済みリソースのアノテーションを編集する必要があって操作方法を調べてみたけど、ラベルの編集と全く同じだった。
ラベルの編集は5年前に一度エントリ作っていたので、アノテーションについてもとりあえずメモ。

before

$ kubectl describe -n logging cm sample-logstash-logstash-config | grep -A2 -i annotation
Annotations:  meta.helm.sh/release-name: sample-logstash
              meta.helm.sh/release-namespace: logging

$

追加する

kubectl annotateにリソースを指定しキー=バリュー形式でセットするアノテーションを指定。

$ kubectl annotate -n logging cm sample-logstash-logstash-config curry=tabetai
configmap/sample-logstash-logstash-config annotated
$ kubectl describe -n logging cm sample-logstash-logstash-config | grep -A2 -i annotation
Annotations:  curry: tabetai
              meta.helm.sh/release-name: sample-logstash
              meta.helm.sh/release-namespace: logging
$

更新する

そのまま実行するとalreadyエラーになるので--overwriteを付与する。

$ kubectl annotate -n logging cm sample-logstash-logstash-config curry=taberu --overwrite 
configmap/sample-logstash-logstash-config annotated

実行結果

$ kubectl describe -n logging cm sample-logstash-logstash-config | grep -A2 -i annotation
Annotations:  curry: taberu
              meta.helm.sh/release-name: sample-logstash
              meta.helm.sh/release-namespace: logging
$

削除する

キー名の末尾にハイフンを付与する。

$ kubectl annotate -n logging cm sample-logstash-logstash-config curry-
configmap/sample-logstash-logstash-config annotated

実行結果

$ kubectl describe -n logging cm sample-logstash-logstash-config | grep -A2 -i annotation
Annotations:  meta.helm.sh/release-name: sample-logstash
              meta.helm.sh/release-namespace: logging

$

ラベルの場合

zaki-hmkc.hatenablog.com