NSX-T 2.4 を REST API で操作してみる。Part.1

NSX-T 2.4 を REST API で操作してみる。Part.1

NSX-T の特徴のひとつである、REST API での操作を試してみます。

REST API を利用する場合の主な目的は、作業の自動化だと思います。

そこで、ここではいわゆる「テナント」を複数作成するようなケースを想定して、

Tier-1 論理ルータの作成から、オーバーレイ ネットワークの作成を REST API で実行してみます。

今回の一連の投稿です。

NSX-T 2.4 を REST API で操作してみる。Part.1 (この投稿自身)

NSX-T 2.4 を REST API で操作してみる。Part.2

NSX-T 2.4 を REST API で操作してみる。Part.3

NSX-T 2.4 を REST API で操作してみる。Part.4

NSX-T 2.4 を REST API で操作してみる。Part.5

それでは、まず利用する環境/ツールについて説明します。

利用する環境について。

以前に投稿した、自宅 NSX-T ラボ環境を利用しています。

自宅ラボで NSX-T 2.4 環境を構築する。まとめ

上記 URL にある「Part.9」から先の部分(Tier-1 ルータの作成から)を、REST API で構築してみます。

イメージ図の、赤枠の部分です。

NSX-T_Lab-2019_API-Part-01.png

NSX-T Data Center REST API について。

NSX-T Data Center REST API は、下記のサイトにドキュメントが公開されています。

NSX-T Data Center REST API - VMware API Explorer - VMware {code}

NSX Manager が展開されている環境であれば、NSX Manager ログイン後の

「?」→「API ドキュメント」でも確認できます。

nsxt-api-p01-01.png

API Guide のドキュメントが参照できます。

nsxt-api-p01-02.png

利用するツールについて。

今回は、Linux OS を実行元としています。

root@photon-machine [ ~ ]# cat /etc/photon-release

VMware Photon OS 3.0

PHOTON_BUILD_NUMBER=5e45dc9

REST API にアクセスする場合に一般的に利用される下記のコマンドライン ツールを利用しています。

  • curl
  • jq

curl と jq は、yum / tdnf などでインストールしておきます。

VMware Photon OS 3.0 を利用する場合は、デフォルトでは jq がインストールされていないので、

下記のように tdnf コマンドでインストールしておきます。

# tdnf install -y jq

REST API へのアクセス方法について。

REST API へのアクセスには curl コマンドを使用しますが、OS root ユーザである必要はなく一般ユーザで実行可能です。

そこで、bash のプロンプトは「$」とだけ表記しています。

今回は、コマンドライン例の見ための都合により、ユーザ:パスワード を変数に格納しています。

※ちなみに例示のパスワードは VMware のデモ/ハンズオンなどで一般的に利用されるものです。

$ CRED='admin:VMware1!VMware1!'

また、NSX Manager のアドレスは、変数「MGR」に格納して、

コマンドラインでも「$MGR」と表記しています。

※これは、うちの自宅 NSX Manager (ローカル)のアドレスです。

$ MGR=lab-nsxt-mgr-01.go-lab.jp

curl コマンドによるアクセス確認として、NSX-T のバージョンを確認してみます。

NSX-T の REST API では、JSON 形式のデータを扱います。

$ curl -ks -u $CRED -X GET https://$MGR/api/v1/node/version

{

  "node_version": "2.4.1.0.0.13716579",

  "product_version": "2.4.1.0.0.13716575"

}

必要に応じて、jq コマンドで JSON をフィルタ/成形します。

$ curl -ks -u $CRED -X GET https://$MGR/api/v1/node/version | jq -r '.product_version'

2.4.1.0.0.13716575

それでは、NSX-T 環境を API で操作していきます。

つづく!

NSX-T 2.4 を REST API で操作してみる。Part.2

Version history
Revision #:
1 of 1
Last update:
‎06-23-2019 05:20 AM
Updated by: