【てぃもに】

Timoni とは?

最終更新:
💡 CUEで定義・検証し、Kubernetesへ適用

CUEでKubernetesリソースを定義・検証するパッケージマネージャー。モジュールをOCIレジストリで配布し、設定値からリソースを生成してクラスタへ適用する。

📌 このページのポイント
CUEで定義・検証し、適用 CUE 定義+設定値 Timoni 生成・検証 Kubernetes 適用 OCIでモジュールを配布 設定の検証 ≠ 稼働の全保証
CUEの型や制約で設定を検証し、リソースを生成・適用する。モジュールはOCIアーティファクトとして配布できる。
ひよこ ひよこ
Timoniはどんな言語を使うの?
ペンギン先生 ペンギン先生
CUEというデータ言語を使うよ。型や条件と設定値を組み合わせ、Kubernetesリソースを定義・検証する。Starlarkベースという説明は正しくないんだ。
ひよこ ひよこ
検証できれば、必ず動く?
ペンギン先生 ペンギン先生
定義した型や条件、Kubernetesのスキーマに沿って設定を確かめられるよ。適用前の検証や適用後の準備状態の確認もある。ただし、それだけでアプリの稼働や環境の条件をすべて保証するわけではないんだ。
ひよこ ひよこ
モジュールやバンドルって何?
ペンギン先生 ペンギン先生
モジュールはCUEの定義をまとめたパッケージだよ。設定値と組み合わせて作る配置がインスタンスで、複数の配置をまとめて扱う定義がバンドルなんだ。
ひよこ ひよこ
Helmとは配布方法も違うの?
ペンギン先生 ペンギン先生
TimoniはモジュールをOCIレジストリで配布できる。ただしHelmにもOCIを使う方法があるよ。記述の仕組みは異なり、HelmはGo templateを使う。Helmでもvalues.schema.jsonを用意して設定値を検証できるので、検証機能がないとは言えないんだ。
ひよこ ひよこ
Flux CDも必要なの?
ペンギン先生 ペンギン先生
Timoniを使うための必須条件ではないよ。連携の例として、TimoniでFlux用のHelmRepositoryやHelmReleaseを生成し、Helmチャートの管理をFluxに任せる公式手順がある。何をTimoniで定義し、何をFluxが適用するかを区別して考えよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Timoni」って出てきたら「CUEでKubernetesの設定を定義・検証し、適用するツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Timoni」 = Kubernetes用ツールの名称
💬 公式サイトでは、CUEを使うKubernetesパッケージマネージャーとして紹介されているよ。

参考資料

← 用語集にもどる