目次
はじめに
普段は自動化にAnsibleを使っているのですが
Teraformにも挑戦してみようと思い
先ずはvSphere周りの自動化にチャレンジしてみます
今回はTerraformを使ってVMを自動構築するとこに挑戦
対象者
Terraformを使った自動化の流れ
1 Terraformのインストール
※構築済みのVM(Ubuntu)にTeraformをインストールします
2 テンプレートファイルの作成
※拡張子は「*.tf」
3 実行
Terraformのインストール
Ubuntuでのインストール方法はこちらになります
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
インストールにはこちらのドキュメントを参考に developer.hashicorp.com
テンプレートの準備
インストールも終わったことなので
VMの自動構築に取り掛かりましょう
先ずはテンプレートの作成から
テンプレートの作成は次のドキュメントを参考に
作成したテンプレートファイルはこちら
provider.tf
main.tf
先ずはprovider.tfから
ドキュメントにあるproviderのコードをコピペ ※画像参照
provider "vsphere"にvCenterの情報を追記します
追記するパラメーターについてはドキュメントのExample Usageを参考にするのが良い
ここで注意が必要なのは次の設定を省かないこと
allow_unverified_ssl = true
無視してしまうとデフォルトがfalseの為、次のようなエラーが出ます
provider.tfの作成と注意点はここまでです
次はmain.tfを作成します
main.tfはこちらのドキュメントを参考に画像のようなテンプレートファイルを作成します registry.terraform.io
特にここで注意が必要なのは下記を指定していることです
wait_for_guest_net_timeout = 0
このパラメーターを指定しないと次のようなタイムアウトが発生します
実行
terraform init
terraform plan
terraform apply
terraform apply実行後に次のメッセージが表示されるので「yes」と入力
「Apply complete」と表示されたのでvCenterにてVMの確認
Ubuntuのインストールウィザードの画面になっているので問題なさそうだ
作成したVMを削除するにはdestroyコマンドを使用
terraform -hでコマンドの説明を確認したところ、前に作ったインフラ環境を壊すということなので
今回の場合だとVMの削除になる
terraform destroy
destroyもapplyと同様に「yes」を入力
「Destroy complete」と出たのでvCenterでVMが削除されたか確認
おわりに
とりあえずVM1台だけ構築できることはできた
次は複数のVMの構築やCSVからパラメーターを読み込ませたりしてみようと思う