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