NTNX>日記

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

Terraform で FVN の Overlay サブネットを作成してみる。Part-03:サブネットと仮想マシンの追加

Terraform の Nutanix Provider v2 で、Flow Virtual Networking(FVN)の既存 VPC に、Overlay サブネットと仮想マシンを作成してみます。

今回の内容です。

今回の環境

下記の投稿で、VPC「vpc-01」を作成してあります。その際に Overlay サブネット「overlay-01」も作成してありますが、今回は「overlay-02」サブネットを追加します。

そして、追加した Overlay サブネットに、仮想マシン「vm03」も追加します。

 

今回のファイル構成

新規作成したディレクトリに、下記のようにファイルを作成します。

$ tree --charset=ascii ./
./
|-- cloud-init_nutanix.yml
|-- data.tf
|-- prism.auto.tfvars
|-- provider.tf
|-- subnet-overlay_v2_overlay-02.tf
|-- variable.tf
`-- vm_v2_vm03.tf

 

1. tf ファイルの作成

Terraform の .tf ファイルを作成します。今回もファイルを多めに分割していますが、1つのファイルにすべて記載しても動作します。

前回の投稿の tf ファイル

以前の投稿 で作成した下記のファイルは、そのままコピーして利用します。

  • provider.tf
  • variable.tf
  • prism.auto.tfvars

 

data.tf

既存 VPC(vpc-01)、Nutanix クラスタ、そして仮想マシンの仮想ディスク イメージを、データ ソースで登録します。前回とは異なり、追加の Overlay セグメントはこれから「Resource」として作成するので、ここでは記述していません。

gist.github.com

 

subnet-overlay_v2_overlay-02.tf

nutanix_subnet_v2 リソースとして、Overlay サブネットを作成する tf ファイルです。

  • L2:サブネットの名前は overlay-02 です。
  • L3:サブネットの種類は、OVERLAY です。
  • L10:ネットワーク アドレスは 10.0.2.0/24 です。VPC 内で重複しないように、overlay-01 とは異なる CIDR を指定します。

gist.github.com

 

vm_v2_vm03.tf

nutanix_virtual_machine_v2 リソースとして、仮想マシンを作成します。前回の仮想マシン定義との差分は下記のようになっています。

  • L2:仮想マシン名は vm03 です。
  • L27:接続する Overlay サブネットの UUID(ext_id)を指定します。前回の仮想マシン定義とはことなり、データ ソース(data.nutanix_subnets_v2. ~)ではなく、リソース(resource.nutanix_subnet_v2.~、または省略して nutanix_subnet_v2.~)の ext_id を参照します。
  • L20:IP アドレスを静的に設定します。このアドレスは overlay-02 サブネットのネットワーク アドレスの範囲から指定します。

gist.github.com

 

2. リソースの作成

これまでと同様に、terraform init、terraform apply を実行すると、tf ファイルに定義されたリソースが作成されます。

初回のみ、terraform init を実行します。

$ terraform init

 

terraform apply を実行して、リソースを作成します。

$ terraform plan
$ terraform apply -auto-approve

 

サブネットと仮想マシンが作成され、次のように terraform state が登録されます。

$ terraform state list
data.nutanix_clusters_v2.cluster1
data.nutanix_images_v2.image1
data.nutanix_vpcs_v2.vpc1
nutanix_subnet_v2.overlay1
nutanix_virtual_machine_v2.vm1

 

つづく。

 

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