kubectl get で対象リソースがなくてもエラーにしない (--ignore-not-found)
Kubernetes の kubectl
コマンドで、Pod の存在チェックをしたりする時に、対象が存在しないとコマンドの終了コードは 1
になる。
$ kubectl get pod my-app-server
Error from server (NotFound): pods "my-app-server" not found
$ echo $?
1
Bash スクリプトを組んでいてリソースの存在によって処理を切り替えたい時に、異常終了扱いになると気持ち悪いな、という時は、--ignore-not-found
というオプションがあるので、コレを使ってみると良いだろう。
# オプションを付けると、対象リソースがなくてもエラーメッセージが表示されない
$ kubectl get pod my-app-server --ignore-not-found
# 終了コードも 0 になっている
$ echo $?
1