毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
0. はじめに
Kubernetesを使っていて、リソースのゴミが残ることはありませんか?
- デプロイしようとして途中で止めたHelmチャート
- デプロイしたけど動かなくて削除したdeployment
- 忘れ去られたCRD
- 使わなくなったJob
こういったお化けリソースを見つけるのが、今回ご紹介するKorです。
yonahd/kor: A Golang Tool to discover unused Kubernetes Resources
https://github.com/yonahd/kor
1. Kor のインストール
インストールはbrewを使ってインストールするのが便利です。
brew install kor
2. 使い方
KUBECONFIGが読める状態にしておいて、
kor all
で現在利用されていない各種リソースが出力されます。
自動的に削除するオプションもあります
kor all --delete
しかし、「ヒャッハー、大掃除だぜー」と上記の --deleteを付けて気軽に実行しない方がいいでしょう。
kor allで出てくるのは殆どが、ConfigMap,Secret,Role,CRD,Jobだと思います。
RoleやCRDは現在使われていなくても使われる可能性がありますし、ConfigMapやSecretもこれらを使うDeploymentがデプロイされるかもしれませんし、たまたまノードが落ちていて利用されていないリソースなのかもしれません。
よって、Korを使う場合にもこんな使われてないリソースがあるのねー、と眺めるぐらいにしておきましょう。もしくは、削除する前にバックアップを取得しましょう。