NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Terraform の Nutanix Provider v2 を使用してみる。Part-02:仮想マシン作成の準備

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」を取得します。

gist.github.com

 

ディスク イメージ

Cloud-init がインストールされたディスク イメージ(Cloud Image)をダウンロードして、イメージ サービスに登録します。

image_v2.tf

  • L2:イメージ名は、OL9U5_x86_64-kvm-b253.qcow2 です。
  • L7:登録する qcow2 ファイルは、ORACLE の Web サイトからダウンロードします。

gist.github.com

 

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

gist.github.com

 

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

 

つづく。

 

©2024 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。