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 ラボ環境を利用しています。
上記 URL にある「Part.9」から先の部分(Tier-1 ルータの作成から)を、REST API で構築してみます。
イメージ図の、赤枠の部分です。
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 ドキュメント」でも確認できます。
API Guide のドキュメントが参照できます。
利用するツールについて。
今回は、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 で操作していきます。
つづく!