【ティルト】

Tilt とは?

💡 Kubernetes開発をダッシュボードで一望!ビルドもログもまとめて管理
📌 このページのポイント
Tilt のダッシュボードで複数サービスを管理 localhost:10350 - Tilt Dashboard サービス一覧 api-server OK frontend OK worker ERROR database Building redis OK worker のログ [worker] Starting build... [worker] Compiling main.go [worker] ERROR: undefined var [worker] at line 42 [worker] Build failed (0.8s) [worker] Waiting for file change...
Tilt のダッシュボードのイメージ
ひよこ ひよこ

TiltってSkaffoldと同じようなツールなの?

ペンギン先生 ペンギン先生

そうだね、どちらもKubernetes開発のビルド・デプロイを自動化するツールだよ。Tiltの特徴はWeb UIがあることで、ブラウザで各サービスのビルド状況、ログ、エラーをまとめて見られるんだ。マイクロサービスで10個以上のコンテナを同時に開発するときに特に便利だよ

ひよこ ひよこ

Tiltfileって何なの?

ペンギン先生 ペンギン先生

Pythonに似た文法で書くビルド定義ファイルだよ。Starlarkという言語で書くんだけど、Pythonが読める人ならすぐ理解できるよ。「このDockerfileでビルドして、このKubernetesマニフェストでデプロイする」みたいな手順をスクリプトとして定義するんだ

ひよこ ひよこ

マイクロサービスだと何がうれしいの?

ペンギン先生 ペンギン先生

たとえば「APIサーバー」「フロントエンド」「データベース」「メッセージキュー」の4つのサービスがあるとするよね。Tiltなら1つのダッシュボードで全部のログを見られるし、どのサービスがエラーかも一目でわかる。ターミナルをたくさん開いてログを追いかける苦行から解放されるんだ

ひよこ ひよこ

Docker社に買収されたって聞いたけど、どうなるの?

ペンギン先生 ペンギン先生

2022年にDocker社がTiltを買収したんだ。Docker Desktopとの統合が進んでいて、Kubernetes開発をDocker Desktopの中でシームレスに行える方向に進化しているよ

ひよこ ひよこ

SkaffoldとTilt、どっちを選べばいいのかな?

ペンギン先生 ペンギン先生

シンプルなCLIベースの開発フローが好みならSkaffoldダッシュボードでビジュアルに管理したいならTiltだね。面白い豆知識として、Tiltはライブアップデートでコンテナをリビルドせずにファイルだけを同期する機能がかなり優秀で、特にGoやPythonの開発ではコンテナの再ビルドを待つ時間がほぼゼロになるんだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Tilt」って出てきたら「Web UIつきのKubernetesローカル開発ツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Tilt」 = 傾ける
💬 「Tilt」は英語で「傾ける」という意味で、開発者側に有利に傾けるという意味合いがあるんだよ
← 用語集にもどる