はじめに
Proxmox 上で k8s クラスタを作っては壊すことを簡単にしようと、この方法を取りました。
基本、コレの通りやるだけです。
そもそも Terraform って?
Infrastructure as Code(IaC)のツールの一種で、宣言的に記述した構成ファイルによって構築・変更・破棄・バージョン管理を可能にするツールです。
公式がチュートリアルを用意してくれているので参考になると思います。
今回やること
Terraform を使用し、Proxmox の VM の作成・破棄を行います。
Proxmox 側の準備
Cloud Init テンプレートの作成
コレの通りに Cloud-init テンプレートを作成します。
その際、VM に QEMU ゲストエージェントがインストールされている必要があります。
また、デフォルトでは VM オプションの QEMU Guest Agent が既定で無効になっているため有効にさせる必要があります。
Terraform 用の Proxmox ユーザーとロールの作成
コレの通りに Terraform が利用するユーザーを作成します。
実行
コレを編集すると動くと思います。
$ terraform init
$ terraform validate
$ terraform plan
$ terraform apply
これにより、VM の作成が行われます。
また、以下のコマンドで VM を削除することができます。
$ terraform destroy
最後に
Proxmox でしか活用したことがないので、理解できていない部分も多いが他のシーンでも積極的に活用していきたいと思う。
Ansible も気になっているのでそちらも触ってみようと思う。