本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
0. はじめに
Kubernetesで使うテンプレートエンジンとしてHelm Chartってのがありますが、他にもどんなのがあるかなと思って探してみた誰得な記事です。
紹介している順番に意味はありません。
1. Helm Chart
言わずと知れたKubernetesのデファクトテンプレートエンジンです。
嫌われることも多いですが。
Helm
https://helm.sh/ja/
2. Kustomize
kubectlにも組み込まれているテンプレート適用ツールです。
Kustomize - Kubernetes native configuration management
https://kustomize.io/
3. helmfile
helm chartがDeclarativeになるとい意味でこちらに入れてみました。
helmfile
https://helmfile.readthedocs.io/en/latest/
4. ytt
ちょっと前のCloud Native Daysで紹介されていた?ytt
筆者は使ったことはありません。
Carvel - Carvel - ytt
https://carvel.dev/ytt/
5. kubes
テンプレートというよりはデプロイツールに近いが、Kustomizeみたいな宣言ができるみたい。
Kubes | The Kubernetes Deployment Tool
https://kubes.guru/
6. Kluctl
こちらも、どちらかと言えばデプロイツールですね。
デプロイ操作をテンプレート化できるという事みたいですが、筆者もよく分かっていません。
kluctl.io
https://kluctl.io/
7. cue
一見するとYAMLの定義をチェックするツールにも見えますが、定義を書き換えることもできるので入れてみました。
8. Tanka
正確にはYAMLテンプレートエンジンというよりは、jsonnetを使ったマニフェスト生成ですが、一応入れてみました。
Introduction | Tanka
https://tanka.dev/#highlights
9. cdk8s
もう、ここまでくると完全にYAMLじゃないですね。
cdk8s
https://cdk8s.io/
10. まとめと参照
ざっくりまとめてみましたが、kustomizeとhelmで生きていくしかなさそうです。
こういうのがあるぜ!とご存じのものが抜けていることがありましたら、コメントでお教えいただければ幸いです。
【参照】
-
Alternatives to Helm? : r/kubernetes
https://www.reddit.com/r/kubernetes/comments/11m06lr/alternatives_to_helm/ -
環境ごとにパラメータを変えて、Kubernetesマニフェストを自動生成する #kubernetes - Qiita
https://qiita.com/kentarok/items/d935e5e2a53548aa0c3f
11. そのほか
ksonnet → 終了