TerraformでProxmox VM作成

はじめに

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 も気になっているのでそちらも触ってみようと思う。


参考

Built with Hugo
Theme Stack designed by Jimmy