Terraform の Nutanix Provider v2 で、仮想マシンを作成する準備として、ディスク イメージと VLAN サブネットを作成します。
今回の内容です。
今回の環境
下記のように、Terraform 実行環境を用意してあります。
今回のファイル構成
ディレクトリには、下記のようにファイルを作成します。
$ tree --charset=ascii ./ ./ |-- data_cluster_v2.tf |-- image_v2.tf |-- prism.auto.tfvars |-- provider.tf |-- subnet-vlan_v2.tf `-- variable.tf
1. tf ファイルの準備
Terraform の .tf ファイルを作成しておきます。
以前の投稿の tf ファイル
以前の投稿 で作成したファイル一式を、そのままの内容で作成します。
- provider.tf
- variable.tf
- prism.auto.tfvars
データ ソースによる情報取得(Nutanix クラスタ)
Nutanix クラスタの UUID(ext_id)を参照するため、データ ソースで既存のリソースを取得しておきます。
data_cluster_v2.tf
- Nutanix クラスタ「lab-nxce-10」を取得します。
ディスク イメージ
Cloud-init がインストールされたディスク イメージ(Cloud Image)をダウンロードして、イメージ サービスに登録します。
image_v2.tf
- L2:イメージ名は、OL9U5_x86_64-kvm-b253.qcow2 です。
- L7:登録する qcow2 ファイルは、ORACLE の Web サイトからダウンロードします。
VLAN サブネット
仮想マシンに DHCP でネットワーク設定するため、IPAM が有効化された VLAN サブネットを作成します。
subnet-vlan_v2.tf
- L2:サブネットの名前は nw-vlan-12-ipam
- L5:VLAN ID は 12
- L8-L20:Nutanix IPAM の設定です。
- L11-L12:ネットワーク アドレスは 192.168.12.0/24
- L14:デフォルト ゲートウェイは 192.168.12.1
- L16-L17:IP アドレス プールは 192.168.12.10~192.168.12.49
2. リソースの作成
Terraform で、リソース(ディスク イメージと VLAN サブネット)を作成するには、tf ファイル一式を格納したディレクトリで、terraform コマンドを実行します。
新規フォルダで terraform コマンドを実行するので、あらためて「teraform init」を実行します。
$ terraform init
「terraform plan」で現状との差分を確認したうえで、「terraform apply」でリソースを作成します。
$ terraform plan $ terraform apply -auto-approve
処理が完了すると、Terraform の State が下記のように登録されます。
$ terraform state list data.nutanix_clusters_v2.cluster1 nutanix_images_v2.image1 nutanix_subnet_v2.ext-subnet1
Prism Central の Images 画面では、下記のようにイメージが作成されます。
Subnets に、下記のように VLAN サブネットが作成されます。
3. リソースの削除
今回作成したリソースを削除する場合は、「terraform destroy」を実行します。
$ terraform destroy -auto-approve
つづく。