vm.gowatana.jp

NEOにほんごVMware(仮)

vcsa-deploy で VCSA を CLI デプロイしてみる。(on ESXi / on vCenter)

vCenter Server Appliance(VCSA)は、GUI からだけでなく CLI でもデプロイできます。

今回は VCSA 8.0 U2a を vcsa-deploy.exe で CLI デプロイしてみます。

 

ドキュメントでは、下記のあたりが参考になります。

 

1. VCSA インストーラ ISO イメージのマウント

CLI デプロイを実行するマシンで、VCSA の ISO イメージファイルをマウントします。

今回は Windows マシンの PowerShell で実行しています。

ISO イメージファイルは下記を使用しました。

  • VMware-VCSA-all-8.0.2-22617221.iso

 

Dドライブとしてマウントした場合は、下記のパスに CLI の実行ファイルがあります。ちなみに、Linux や MacOS 用の実行ファイル(vcsa-deploy)は、別のフォルダにあります。

  • D:/vcsa-cli-installer/win32/vcsa-deploy.exe

 

2. デプロイ先ESXi / vSphere 環境での事前準備

VCSA のデプロイ先として、ESXi もしくは vCenter Server を選択できます。

デプロイ先の環境には、GUI インストールの場合と同様に、事前に VCSA デプロイに必要なアカウントやオブジェクトなどを用意しておく必要があります。主に必要なものは下記ですが、具体的には後で例示する JSON ファイルを参照してください。

  • ESXi / vCenter のユーザ アカウント
  • データストア
  • ポートグループ
  • DNS サーバと、system_name で指定する FQDN のレコード登録
  • NTP サーバ
  • vCenter にデプロイする場合は、リソース プールや仮想マシン フォルダなど

 

3. JSON ファイルの用意

vcsa-deploy では、VCSA の設定を JSON 形式のテキストファイルとして作成しておく必要があります。テンプレートとして利用できるファイルは、VCSA の ISO イメージ ファイルに用意されています。

 

JSON ファイルのテンプレート

テンプレートの JSON ファイルは、下記のフォルダに格納されています。ESXi にデプロイする場合は「~_on_ESXi.json」、vCenter にデプロイする場合は「_on_VC.json」を参考にファイルを作成します。

PS> ls D:\vcsa-cli-installer\templates\install

    ディレクトリ: D:\vcsa-cli-installer\templates\install

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-ar---        2023/06/15     19:47           4586 embedded_vCSA_on_ESXi.json
-ar---        2023/06/15     19:47           5626 embedded_vCSA_on_VC.json
-ar---        2023/06/15     19:47           4809 embedded_vCSA_replication_on_ESXi.json
-ar---        2023/06/15     19:47           5849 embedded_vCSA_replication_on_VC.json
-ar---        2023/06/15     19:47           5897 vCSA_with_cluster_on_ESXi.json

 

JSON ファイルの作成例 1:ESXi への VCSA デプロイ

まずは、ESXi ホストに VCSA をデプロイする JSON の例です。

vSphere 環境の最初の vCenter Server をデプロイする際には、ESXi 宛に VCSA をデプロイすることになります。その際は、embedded_vCSA_on_ESXi.json ファイルを参考にします。

lab-vc-11_on_ESXi.json

  • L6: JSON にはコメントを記述できるので、備忘として JSON ファイル自体にデプロイ時のコマンド ラインを記載しています。
  • L10: デプロイ先として ESXi を指定しています。
  • L18: 仮想ディスクは、シン プロビジョニングでデプロイします。
  • L19: VCSA のサイズは極小(tiny)にしています。
  • L25: VCSA の FQDN です。この名前(system_name)は、DNS で名前解決できるようにしておく必要があります。
  • L40: ラボ用途なので、VCSA への SSH 接続を有効にしています。
  • L49: CEIP(カスタマー エクスペリエンス改善プログラム)には参加しない

gist.github.com

 

ちなみに JSON での設定項目名は、以前は「new.vcsa」のようにドット区切りでしたが、VCSA 6.7(JSON のコンフィグ バージョンは 2.13.0) あたりから「new_vcsa」のようにアンダーバー区切りになりました。それ以降は JSON の形式が変更されていないので、VCSA 6.7 の頃の JSON ファイルでも、VCSA 8.0 で利用できます。

 

JSON ファイルの作成例 2:vCenter Server への VCSA デプロイ

既設の vSphere 環境がある場合は、2台目以降の VCSA は、vCenter Server 宛にデプロイできます。vCenter を配置する管理クラスタや、検証環境などにデプロイする場合には、こちらの方式になるはずです。

vCenter Server にデプロイする場合は、「new_vcsa」配下のデプロイ先指定が、「esxi」ではなく「vc」になります。

lab-vc-12_on_VC.json

  • L10: デプロイ先として vCenter Server(vc)を指定しています。
  • L22-24: vCenter インベントリのデータセンタを指定します。
  • L25-28: 仮想マシン フォルダを指定します。これは省略可能です。
  • L30-34: クラスタ、リソース プール、もしくは ESXi ホストを指定します。例ではリソース プールを指定していますが、ESXi ホストも直接指定できます。

gist.github.com

 

DRS が有効な ESXi にデプロイする場合は、処理中に DRS で VCSA が移動されてしまうと失敗するので、ESXi ではなく vCenter にむけてデプロイします。

また、vDS の分散ポートグループを利用する場合な、分散ポートグループのポート バインドを「短期: バインドなし」に設定しておくと、vCenter 停止時などに ESXi 側でも仮想マシンの vNIC に割り当て可能となります。

 

4. VCSA のデプロイ

CLI デプロイでは、vcsa-deploy.exe install コマンドを、JSON ファイルを指定して実行します。

 

4-1. 事前チェックの実行(--precheck-only)

まず、「--precheck-only」オプションで実行することで、JSON ファイルの内容やデプロイ先の環境を確認できます。

 

コマンド ラインは下記のようになります。

./vcsa-deploy.exe install --accept-eula --no-ssl-certificate-verification --precheck-only <JSON ファイルのパス>

 

カレント ディレクトリに JSON ファイルがある場合は、下記のようにコマンドを実行します。

  • VCSA ISO イメージ ファイルのマウント場所: D: ドライブ
  • JSON ファイル: ./lab-vc-11_on_ESXi.json
PS> D:/vcsa-cli-installer/win32/vcsa-deploy.exe install --accept-eula --no-ssl-certificate-verification ./lab-vc-11_on_ESXi.json

 

コマンドを実行して問題なければ、下記のような「SUCCEEDED」メッセージが出力があります。

[SUCCEEDED] Successfully executed Task 'Precheck ovftool commandline parameters
to deploy a vCenter Server Appliance' in TaskFlow 'lab-vc-11' at 09:56:43

 

4-2. VCSA のデプロイ

事前チェックのコマンド ラインから「--precheck-only」オプションを外して実行すると、デプロイ処理が開始されます。

 

コマンド ラインは下記のようになります。

./vcsa-deploy.exe install --accept-eula --no-ssl-certificate-verification <JSON ファイルのパス>

 

たとえば、下記のようにコマンドを実行します。

  • VCSA ISO イメージ ファイルのマウント場所: D: ドライブ
  • JSON ファイル: ./lab-vc-11_on_ESXi.json
PS> D:/vcsa-cli-installer/win32/vcsa-deploy.exe install --accept-eula --no-ssl-certificate-verification ./lab-vc-11_on_ESXi.json

 

30~40分くらい待ちデプロイが成功すると、下記のように vSphere Client への接続情報が表示されます。

 [START] Start executing Task: Provide the login information about new
appliance. at 10:29:05
    Appliance Name: infra-vc-11
    System Name: lab-vc-11.go-lab.jp
    System IP: 192.168.10.91
    Log in as: Administrator@vsphere.local
 [SUCCEEDED] Successfully executed Task 'ApplianceLoginSummaryTask: Provide

 

デプロイされた VCSA の仮想マシンは、自動的に起動されて、vSphere Client が利用できるようになっています。

 

デプロイ先を vCenter Server にして、リソース プールや仮想マシン フォルダをしておくと、その場所に VCSA の仮想マシンが配置されます。

 

Web ブラウザの証明書エラーを無視して、JSON ファイルで指定した SSO ドメイン(sso → domain_name)の administrator ユーザでログインすると・・・

 

vCenter Server が利用可能になっています。

 

つづく。