NTNX>日記

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

Terraform の Nutanix Provider v2 を使用してみる。Part-01:接続確認

Terraform で、Nutanix Provider v2 のデータ ソースを使用して Nutanix クラスタの情報を取得してみます。今回は、接続確認として Nutainx クラスタの UUID(ext_id)を取得してみます。

Nutanix Provider v2 からは、Nutanix v4 API に対応しています。そこで、あえて v4 API を使用するデータ ソース(nutanix_clusters_v2)を使用してみます。

今回の環境

Terraform は、Linux マシンから実行します。今回は Oracle Linux 9 を使用しています。

$ cat /etc/oracle-release
Oracle Linux Server release 9.5

あらかじめ、unzip をインストールしておきます。これは、root ユーザーもしくは sudo で実行します。

# dnf install unzip -y

 

1. Terraform のインストール

Terraform のバイナリをダウンロードします。

$ curl -OL https://releases.hashicorp.com/terraform/1.11.4/terraform_1.11.4_linux_amd64.zip

.zip ファイルから、terraform コマンドを抽出します。

$ unzip terraform_1.11.4_linux_amd64.zip terraform
Archive:  terraform_1.11.4_linux_amd64.zip
  inflating: terraform

terraform コマンドは、PATH が通っているディレクトリに配置します。Oracle Linux ではデフォルトで $HOME/bin が $PATH に含まれています。

$ mkdir $HOME/bin
$ mv terraform $HOME/bin/

terraform コマンドが実行可能になりました。

$ terraform version
Terraform v1.11.4
on linux_amd64

 

2. tf ファイルの準備

Terraform の .tf ファイルを作成しておきます。今回は複数のファイルに分割していますが、すべてを1つのファイルに記述しても動作します。

今回のファイル構成

ディレクトリには、下記のようにファイルを作成します。ちなみに tree コマンドは、「dnf install tree」で事前にインストールしてあります。

$ tree --charset=ascii ./
./
|-- cluster_v2.tf
|-- prism.auto.tfvars
|-- provider.tf
`-- variable.tf

 

provider.tf

Nutanix Provider のバージョンや、Prism Central への接続情報などを記述します。

実行時の警告を抑止するため、Foundation と NDB の接続情報(のダミー)も記述しています。

gist.github.com

 

variable.tf

変数の定義を記述しています。

gist.github.com

 

prism.auto.tfvars

Prism Central に接続するユーザー、パスワード、アドレスを記述します。Nutanix v4 API を利用するので、Prism Central への接続(Prism Element ではなく)が必須です。

gist.github.com

 

cluster_v2.tf

Nutanix Provider のリソースやデータ ソースのうち、Nutanix v3 API を使用するものは「~_v2」という名前になっています。ちなみに、従来の v3 API を使用するリソースとデータ ソースも、まだ併用可能です。

ここでは、nutanix_clusters_v2 データ ソースを使用して、Nutanix クラスタ(今回のクラスタ名は lab-nxce-10)の UUID(ext_id)を出力します。

gist.github.com

 

3. terraform の初期化

.tf ファイルを配置してあるディレクトリで「terraform init」を実行して、Terraform を初期化します。これにより Nutanix Provider が自動的にダウンロード インストールされます。

$ terraform init

実際に実行すると、下記のようになります。

 

4. terraform の実行

.tf ファイルを配置してあるディレクトリで「terraform plan」を実行すると、事前確認できます。今回は Nutanix クラスタの設定を変更するつもりはないので、この時点で ext_id を取得できることが確認できています。

$ terraform plan

実際に実行すると、下記のようになります。

「terraform apply」を実行すると、.tf ファイルの内容を実機反映できます。今回は設定変更がない .tf ファイルを作成したので、「cluster_ext_id」という Output に Nutanix クラスタの UUID が取得されるだけです。

$ terraform apply -auto-approve

実際に実行すると、下記のようになります。

これ以降は、下記のように Nutanix クラスタの状態(State)が取得されたことが確認できます。

$ terraform state list
data.nutanix_clusters_v2.cluster1

下記のようにコマンドを実行すると、詳細な情報が出力されます。(ここでは省略)

$ terraform state show data.nutanix_clusters_v2.cluster1

Output は、下記のように確認できます。

$ terraform output
cluster_ext_id = "00063386-4ad9-c5a4-4b34-005056812e2d"

つづく。

 

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