VMware Cloud Director 10.4(VCD)を Terraform で操作してみます。今回は、Linux に Terraform をインストールして、VDC Provider で vApp を作成してみます。
今回の内容です。
- 1. 今回の環境
- 2. Terraform のインストール
- 3. Terraform と VMware Cloud Director Provider の準備
- 4. Terraform での vApp 作成
1. 今回の環境
最初に、Terraform 実行先の VCD と、実行元の環境について紹介しておきます。
VMware Cloud Director
以前に構築した、下記の環境を利用しています。今回 Terraform で vApp を作成する VDC は作成済みです。
- 組織: demo-org-01
- 組織 VDC: org-vdc-01
Terraform の実行環境
Linux(VMware Photon OS 4.0) に Terraform をインストールして実行します。
root@lab-terraform-01 [ ~ ]# cat /etc/photon-release VMware Photon OS 4.0 PHOTON_BUILD_NUMBER=2f5aad892
2. Terraform のインストール
まず、Terraform のバイナリ ファイルを解答するために unzip をインストールしておきます。
# tdnf install -y unzip
root ユーザのままでも作業可能ですが、今回は作業用の OS ユーザ(demo)を作成しておきます。
# useradd -m demo # passwd demo # su - demo
Terraform をダウンロードします。
$ curl -LOs https://releases.hashicorp.com/terraform/1.3.4/terraform_1.3.4_linux_amd64.zip
今回は、$HOME/bin にインストール(展開)します。
$ mkdir $HOME/bin/ $ unzip terraform_1.3.4_linux_amd64.zip -d $HOME/bin/
terraform のバイナリ ファイルを配置したディレクトリを、PATH 環境変数に追加しておきます。
$ echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bashrc
PATH 環境変数の設定を確認するため、作業ユーザで再ログインしておきます。
$ su - demo
これで、terraform コマンドが実行できるようになったはずです。
$ terraform version Terraform v1.3.4 on linux_amd64
3. Terraform と VMware Cloud Director Provider の準備
Terraform から VCD を操作する Provider(VMware Cloud Director Provider)は VMware から提供されており、Terraform Registry でも公開されています。今回は最新バージョンの 3.7.0 を利用します。
Terraform 関連のファイルを格納する作業ディレクトリを作成しておきます。
$ mkdir vcd $ cd vcd/
Terraform による定義ファイルを作成しておきます。
main.tf
- VCD Provider(vmware/vcd)の、バージョン 3.7 を利用
- 組織 VDC(org-vdc-01)に、空の vApp(tf-vapp-01)を作成
terraform init で初期化します。
$ terraform init
下記のように、VCD Provider (vmware/vcd)がダウンロードされます。
4. Terraform での vApp 作成
terraform plan を実行すると、処理内容が確認できます。
$ terraform plan
下記のような感じで、処理内容による差分が表示されます。
terraform apply で、実際に処理を実行します。
$ terraform apply -auto-approve
下記のような感じで、vApp(tf-vapp-01)が作成されます。
VCD のテナント ポータルで、vApp が作成されたことが確認できました。
ちなみに、今回はただ vApp を作成しただけなので、ネットワークや仮想マシンは含まれていません。
ちなみに Terraform で作成されたリソースは、terraform destroy で削除できます。
$ terraform destroy -auto-approve
コマンドを実行すると、下記のように vApp が削除されます。
つづく。