HCP Terraform の workspace と run: plan から apply までの流れと state の置き場所

ローカルの terraform コマンドから HCP Terraform の workspace を作り、plan と apply を run として実行する。run がどこで動き、承認待ちでどう止まり、state がどこに残るかを、ターミナルの出力と画面で確かめる。

ローカルの terraform コマンドから HCP Terraform の workspace を作り、plan と apply を run として実行する。run がどこで動き、承認待ちでどう止まり、state がどこに残るかを、ターミナルの出力と画面で確かめる。

HCP Terraform は、Terraform の plan と apply を HashiCorp のクラウドで実行し、state と認証情報もそこに置くサービス。HCP Terraform とは何か、何ができるか、どういう仕組みで動くかを、公式ドキュメントをもとに整理する。

Tilt で、Go で書いた API と一緒に PostgreSQL を kind のクラスタで動かす。resource_deps で DB の Pod が Ready になるのを待ってから初期データを入れ、そのあと API を起動する。初期データの投入は local_resource で行い、trigger mode を manual にして管理画面のボタンで入れ直す。tilt down で DB も含めて削除されることを確認する。

Tilt の Live Update を使い、Go で書いた API のソースの変更を、image を作り直さずに kind のクラスタで動いているコンテナへ反映する。ローカルの開発環境で go build した実行ファイルを sync でコンテナにコピーし、restart_process 拡張でプログラムを起動し直す。保存のあとも Pod の名前・RESTARTS・image のタグが変わらないことを確認する。

Tilt を使い、自作の API を kind のクラスタで動かす。Tiltfile に docker_build・k8s_yaml・k8s_resource の 3 行を書いて tilt up を実行し、ソースを 1 行変えて保存するだけで image の作成から Pod の入れ替えまでが自動で行われることを確認する。開発用と判定できないクラスタでは Tilt が止まることも、kubeconfig の名前だけを変えて確かめる。

Tilt は、ローカルの開発環境で動き、アプリのソースを保存するたびに image の作成・Kubernetes への反映・port-forward を自動でやり直すツール。Tilt とは何か、何ができるか、どういう仕組みで動くかを、公式ドキュメントをもとに整理する。