コラム

VMware NSX API (3) ~ IP Pool 作成 & NSX Controller デプロイ & ESXi Hosts の準備 ~

筆者:前田 佑樹

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

2017.03.08


NSX API を連載紹介する第3弾として、IP Pool や NSX Controller、 ESXi Hosts の Preparation を NSX API を用いた構成方法をご紹介したいと思います。もちろん通常通り GUI ベースの構成も可能ですが、繰り返し行うような作業には、スクリプトを組んで、CLI ベースの構成やオペレーションが役に立つと思います。


NSX コンポーネントデプロイ の流れ


前回 は、NSX API を用いた ① NSX Manager CLI Deploy と ② Register with vCenter をご紹介させていただきましたが、既に NSX Manager のデプロイは終了しているので、以降は NSX API を用いた Programable な操作を行うことができます。

今回は、③ Deploy NSX Controllers (+ IP Pool 作成)④ Prepare Hosts を、 NSX API を用いて実装する方法 についてご紹介していきます。

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

NSX Controller について


NSX Controller は、NSX Manager からの操作を各 ESXi ホストに伝達 したり、論理ネットワーク(Distributed Logical Switch / Distributed Logical Router)の 各種テーブル(ARP, MAC,VTEP)情報を集中管理 するコンポーネントです。
仮想アプライアンスとして NSX Manager から提供され、冗長性 負荷分散スプリットブレイン などを考慮した(Versionにもよりますが)3台構成が基本 となります。

NSX Controller や NSX Edge Service Gateway などの 仮想アプライアンスのファイル (OVF) は、NSX Manager 内に格納されているので、別途 OVF ファイルをダウンロードする必要はありません。
 

IP Pool 作成 ( NSX API )


NSX Controller が使用するIPアドレスは、IP Pool から割り当てる ため、事前に作成する必要 があります。
※POSTする場合、Content-Typeapplication/xml に設定することもお忘れないように!

【IP Pool 作成】
Request : POST https://NSX-Manager-IP-Address/api/2.0/services/ipam/pools/scope/globalroot-0

Request Body は以下の実行画面を参考にしてください。
それぞれの入力項目は下記の通りです。
--------------------------------------------------
name       IP Pool につける名前
prefixLength  CIDR (サブネット値)
gateway    ゲートウェイのアドレス
startAddress  IP レンジ の最初の IP アドレス
endAddress    IP レンジの最後の IP アドレス
--------------------------------------------------

NSX IP Pool 作成 : NSX API 実行画面

NSX Controller デプロイ (NSX API)


それでは、NSX Controller Deploy を NSX API から実行していきましょう。

Deploy に必要な情報をパラメーターとして入力していきますが、仮想アプライアンスの展開先となる Cluster、Datastore、PortGroup の指定 の際に、それぞれの Object ID (MOID) を使用するため、事前に調べておきましょう。(調べ方は【 VMware NSX API (1) ~NSX & vCenter Object ID の調べ方~ をご覧ください)

事前に調べた Object ID をもとに、次の実行例にならって、NSX Controller をデプロイ します。
また、NSX Controller は 一台ずつデプロイ しましょう。他の NSX Controller をデプロイ中は、別の NSX Controller のデプロイはできません。

【 NSX Controller Deploy 】
Request : POST https://NSX-Manager-IP-Address/api/2.0/vdn/controller

Request Body は以下の実行画面を参考にしてください。
それぞれの入力項目は下記の通りです。
--------------------------------------------------
name        NSX Controller の名前
ipPoolId       IP Pool の MOID
clusterId      NSX Controller を展開する Cluster の MOID
resourcePoolId  Resource Pool または、Cluster の MOID(今回の例では、clusterId を指定)
datastoreId    NSX Controller のファイルを格納する Datastore の MOID
deployType     NSX Controller のリソースサイズ(指定可能オプション:small | medium | large )
--------------------------------------------------

※NSX API で指定可能なのは medium のみ です。本来であれば、small や medium、large を指定することで、メモリサイズを変更できるのですが、現状 medium 以外はエラーが返ってきます。

NSX Controller デプロイ : NSX API 実行画面

三台分繰り返した結果、vSphere Web Client 上に、以下のように表示されます。

※画像の結果は、何度か NSX Controller を作り直しているため、controller-3 ~ controller-5 で作成されています。

NSX Controller デプロイ : vSphere Web Client 画面

Host Preparation について


次に、Host Preparation を行います。日本語だと「ホストの準備」です。

デフォルトでは、ESXi には NSXコンポーネントが含まれていないので、Host Preparation でインストールします。基本的には、インストールする Cluster を指定 すると 後は自動的にシステムが処理 してくれます。

システム内部では、NSX Manager が保持する NSX 用の vSphere Installation Bundles (VIB) を、Cluster 内の各 ESXi ホストにインストール してくれています(ちなみに、NSX Manager から VIB をダウンロードして、コマンドで ESXi にインストールすることもできます)。

NSX 用の VIB をインストールすることにより、Distributed Logical Switch (VXLAN)Distributed Logical Router (DLR)分散ファイアウォール (DFW)、および通信に使用する ユーザー ワールド エージェント (UWA) 機能を ESXi に追加できます。
 

Host Preparation ( NSX API )


それでは、Host Preparation を NSX API で行ってみたいと思います。

【 Host Preparation 】
Request :
 POST https://NSX-Manager-IP-Address/api/2.0/nwfabric/configure

Request Body は以下の実行画面を参考にしてください。
それぞれの入力項目は下記の通りです。
--------------------------------------------------
resourcePoolId    Cluster の MOID
--------------------------------------------------

NSX Host Preparation : vSphere Web Client 画面
NSX Host Preparation : vSphere Web Client 画面

まとめ


今回は、IP Pool / NSX Controller / Host Preparation の NSX API を用いた構成方法 をご紹介させて頂きました。
これで土台が完成!…と言いたいところですが、土台完成までにはもう少し構成する必要があります。続きは次回ご紹介させていただきます!

次回は、VTEP 作成 / Segment ID Pool 作成 / Transport Zone 作成 についてご紹介します。

関連URL

筆者紹介

前田 佑樹

プロフィール

前田 佑樹(Yuuki Maeda)

VMware / NetApp インストラクター

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


Page Topへ