コラム

VMware NSX API (2) ~NSX Manager デプロイ (PowerCLI) & vCenter Server 登録 (NSX API) ~

筆者:前田 佑樹

クラウド
セキュリティ
仮想化
ネットワーク

2016.12.21


NSX API を連載紹介する第2弾として、NSX Manager の CLI デプロイと、 NSX API を使用した、NSX Manager と vCenter Server の登録をご紹介したいと思います。もちろん、通常通り GUIベースのデプロイと設定も可能ですが、選択肢の一つとして、CLI 操作も知っておくと良いと思います。


NSX Manager について


NSX API の紹介第2弾、今回はNSX Manager の CLI デプロイと、 NSX API を使用した、NSX Manager と vCenter Server の登録をご紹介します。

NSX を導入する際にまず必要になるのが、NSX Manager です。 NSX Manager は、仮想ネットワーク環境の構成情報を管理 したり、vCenter Server を介して、仮想マシンや ESXiホストの情報を得ることで、vSphere と連携 しています。
また、NSX を構成するコンポーネントには様々なものがありますが、全てNSX Manager からデプロイ するため、真っ先にデプロイする必要があるわけです。また、サードパーティ製品と NSX を連携させるためのNSX API のインターフェースとしての役割も担います。

以下の図は、NSXコンポーネントのデプロイ順を表したものです。
今回は、その中から、① NSX Manager CLI Deploy② Register with vCenter を CLI で行う方法 についてご紹介してきます。

NSXコンポーネントデプロイ順 参照元:VMware® NSX for vSphere (NSX-V) Network Virtualization Design Guide

NSX Manager CLI Deploy (PowerCLI)


NSX Manager は、VMware から OVA形式 で提供 されています。OVA のデプロイは通常、vSphere Web Client 等のGUI を介して行いますが、今回は、PowerCLI を使用した、デプロイ方法 をご紹介して行きたいと思います。

OVAからの仮想マシンのデプロイは、"Import-VApp" コマンド を用いることで可能です。

Import-VApp [-Source] <String> [-OvfConfiguration <Hashtable>] [[-Name] <String>] [-Location <VIContainer>]  [-VMHost]  <VMHost>  [-Datastore <StorageResource>>]  [-Force]  [-DiskStorageFormat <VirtualDiskStorageFormat>] [-Server <VIServer[]>] [-RunAsync] [-WhatIf] [-Confirm] [<CommonParameters>]

参照元:vSphere PowerCLI Reference

ここで分かりづらいのが、"-OvfConfiguration" の中身です。このオプションに何を記述する必要があるかは、OVAインストール時に必要な設定 により変わります。特定のOVA内で記述する必要のある、"-OvfConfiguration" は以下のコマンドで調べることができます。

Get-OvfConfiguration [-Ovf] <String> [-Server <VIServer[]>] [<CommonParameters>]

上記コマンドだけだと、求める情報が得られないので、一度 変数登録 して、".ToHashTable()" をお試しください。
以下が実行例となります。

Get-Configuration 実行例

ということで、NSX Manager に設定が必要な、-OvfConfiguration の内容を反映し、デプロイに必要な情報を変数登録した例が以下になります。

変数登録例

あとは、"Connect-VIServer" コマンドによって PowerCLI  で vCenter に接続し、"Import-VApp" コマンドで NSX Manager をデプロイし、"Start-VM" コマンドで NSX Manager をパワーオンします。

以下が実行例になります。

コマンド実行例

NSX Manager を PowerCLI のみでデプロイできました!

今回ご紹介した方法は、他のOVA等にも使用可能ですので、是非お試しください!

NSX Manager デプロイ確認

vCenter Server登録 (NSX API)


NSX Manager をデプロイしたことで、NSX API が使用可能 になります。以降の NSX 関連の操作は、 NSX API を介して行えます。

NSX の操作の際に、まず設定が必要なのが、vCenter Server の登録 です。冒頭でご紹介したように、NSX Manager は vCenter Server と連携することで、仮想環境に高度な仮想ネットワークを構成し、管理 します。そのため、連携する vCenter Server の登録を行う必要があります。

これを NSX API を用いて行う場合、以下のようになります。

Request:
PUT https://NSX-Manager-IP-Address/api/2.0/services/vcconfig
Request Body:
<vcInfo>
<ipAddress>vc-l-01a.corp.local</ipAddress> <!-- Required. FQDN or IP address of vCenter
server.--><userName>administrator@vsphere.local<password>VMware123</password> <!-- Required. -->
<certificateThumbprint>D2:75:61:24:52:CA:B2:8D:D3:25:3F:78:11:2A:8F:94:5A:30:57:0D</certificateThumbprint> <!-- Required. Must be : delimited hexadecimal. -->
<assignRoleToUser>true</assignRoleToUser> <!-- Optional. -->
<pluginDownloadServer></pluginDownloadServer> <!-- Optional. -->
<pluginDownloadPort></pluginDownloadPort> <!-- Optional. -->
</vcInfo>


参照元:NSX vSphere API Guide NSX 6.2 for vSphere

NSX Manager に vCenter Server へのアクセス情報を登録するため、<idAddress>、<userName>、<password>、
<certificateThumbprint>
を Request Body として PUT することで登録可能です。

ちなみに<certificateThumbprint>には、 vCenter Server へのアクセス時に使用する 証明書の拇印が必要 になります。 

以下が実行例になります。

vCenter 接続情報登録

また、キャプチャ画面には出ていませんが、実際には、NSX Manager へのアクセス情報を事前に登録する必要があります。
この時のUser名は、 "admin" になります。

NSX API アクセス情報

これで、NSX Manager に vCenter Server の登録は完了です。

まとめ


今回は、NSX Manager のデプロイと vCenter Server 情報の登録を PowerCLI と NSX API を用いて行う方法をご紹介させて頂きました。
なかなか VMware製品を CLI のみで、デプロイしたり設定することも少ないかと思いますが、何かしらのお役に立てればと思いご紹介させて頂きました。

PS: 今回は、PowerCLI の分量が多くなってしまったのは内緒ですよ!

関連URL

筆者紹介

前田 佑樹

プロフィール

前田 佑樹(Yuuki Maeda)

VMware / NetApp インストラクター

「硬い言葉は抜きにして、噛み砕いた言葉でITをご紹介!」
をモットーに、人の顔色を見ながら講義をしています…
もとい、受講者様の理解度を測りながら講義をしています!
難しい言葉を見ていると寝てしまう…という方は、是非噛み砕いたITトレーニングを御受講下さい!


Page Topへ