デプロイ済みリソースのアノテーションを編集する必要があって操作方法を調べてみたけど、ラベルの編集と全く同じだった。
ラベルの編集は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
$