NSX 4.1 に Terraform でオーバーレイ セグメントを追加してみます。
Terraform での NSX 操作には、vmware/nsxt Providier を利用します。
今回の内容です。
今回の環境
下記のように構築した NSX ラボを利用します。
上記の一連の手順のうち、NSX オーバーレイ セグメントの作成の部分のみを、Terraform に置き換えてみます。
オーバーレイ セグメントは、すでに 2つ作成してあります。これらと同様の設定のセグメントを追加します。
NSX Manager で確認すると、この時点ではオーバーレイ セグメントが 2つだけ作成されています。
オーバーレイ セグメントでは、下記のように DHCP 構成を設定ずみです。
今回の Terraform 実行環境は、VMware Photon OS 5.0(Linux)です。
Photon OS は、あらかじめ OVA ファイルを展開して、ネットワーク設定を済ませておきます。
root@lab-terraform-21 [ ~ ]# cat /etc/photon-release VMware Photon OS 5.0 PHOTON_BUILD_NUMBER=dde71ec57
Terraform 実行環境の用意
Terraform のインストールで .zip ファイルを展開するので、unzip をインストールしておきます。
# tdnf install unzip -y
Terraform の .zip ファイルをダウンロードします。
$ curl -OL https://releases.hashicorp.com/terraform/1.6.2/terraform_1.6.2_linux_amd64.zip
.zip ファイルから、terraform ファイルを展開します。今回は、ホームディレクトリに bin ディレクトリ($HOME/bin)を作成して、そこに展開します。
$ mkdir $HOME/bin $ unzip terraform_1.6.2_linux_amd64.zip terraform -d $HOME/bin
$HOME/bin を、PATH 環境変数に追加しておきます。
$ export PATH=$HOME/bin:$PATH $ echo 'export PATH=$HOME/bin:$PATH' >> .bash_profile
terraform コマンドが実行できるようになったことを確認しておきます。
$ terraform version Terraform v1.6.2 on linux_amd64
.tf ファイルの作成
下記のような .tf ファイルを作成しておきます。
provider.tf
- NSX を操作する Provider を記載してあります。
login.tf
- おもに、NSX Manager のアドレスと ユーザ / パスワードを記載します。
- パスワードを記載しているので、取扱いに注意が必要です。
overlay-segment.tf
- nsxt_policy_fixed_segment リソースを定義しています。リファレンスは下記のあたりです。
https://registry.terraform.io/providers/vmware/nsxt/latest/docs/resources/policy_fixed_segment - 1 ~ 3行目で、セグメントを接続する Tier-1 ゲートウェイを取得しています。リファレンスは下記のあたりです。
https://registry.terraform.io/providers/vmware/nsxt/latest/docs/data-sources/policy_tier1_gateway
terraform の実行
terraform plan コマンドで、.tf ファイルの内容をもとに事前確認しておきます。
$ terraform plan
実際に実行すると、下記のようになります。
terraform apply で、NSX に設定を反映します。今回は実行確認をスキップするため「-auto-approve」を付与しています。
$ terraform apply -auto-approve
実行すると、下記のようにセグメントが作成されます。
これで、seg-overlay-03 セグメントが作成されました。
DHCP 構成も、.tf ファイルのとおりに設定されています。
作成したセグメントを削除するには、terraform destroy を実行します。
$ terraform destroy -auto-approve
以上、Terraform で NSX オーバーレイ セグメントを作成してみる話でした。
つづきはこちら。