この投稿は、vExperts Advent Calendar 2017 の 18日目です。
vExperts Advent Calendar 2017 - Adventar
今年、NSX と PowerNSX についての投稿をしていたので、
そのまとめとして、テナントを大量生産してみようと思います。
PowerNSX でテナント追加の自動化をしてみる。Part.1
PowerNSX でテナント追加の自動化をしてみる。Part.2
PowerNSX でテナント追加の自動化をしてみる。Part.3
PowerNSX でテナント追加の自動化をしてみる。Part.4
PowerNSX でテナント追加の自動化をしてみる。Part.5
ここまでで紹介した方法をふまえて、
たとえば 100 テナント作成するときのことを考えてみようと思います。
まず今回は、Part.5 までで紹介した内容をもとに下記のようなスクリプトを作成してみました。
実際に NSX の操作を自動化するときはその環境に依存すると思うので、
一つの例ということでご覧いただければと思います。
add_tenant.ps1
blog-powernsx-samples/add_tenant.ps1 at master · gowatana/blog-powernsx-samples · GitHub
tenant_config.ps1
blog-powernsx-samples/tenant_config.ps1 at master · gowatana/blog-powernsx-samples · GitHub
では、スクリプトを実行してみます。
まず PowerNSX で vCenter と NSX Manager に接続しておきます。
スクリプト ファイルを配置して・・・
PowerNSX> ls
ディレクトリ: C:\work\blog-powernsx-samples\powernsx-auto-adv
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2017/12/18 22:42 4202 add_tenant.ps1
-a---- 2017/12/18 22:43 990 tenant_config.ps1
実行。
PowerNSX> .\add_tenant.ps1 .\tenant_config.ps1 55 3
このような感じになります。
できあがるネットワーク環境は、Part.5 のものと同じものです。
なお、PowerNSX のプロンプトは、こんな感じで雰囲気を出しています。
PowerNSX プロンプト文字列に NSX / vCenter への接続状態を反映してみる。
下記のように、NSX によるネットワークと VM が作成されます。
NSX の論理スイッチに VM が3つ接続された状態になりました。
そして極端な例ですが、下記のような要領で、
100 テナント(各テナントに 3 VM)の環境が作れたりします。
※だた実際にこれでうまくいくかは別として・・・
PowerNSX> 1..100 | foreach {
>> $tenant_no = $_
>> .\add_tenant.ps1 .\tenant_config.ps1 $tenant_no 3
>> }
ということで、理想的なことをいうと下記のような考えができるのではないかと思います。
- 自動化は、最初の仕込みには時間がかかったとしても、
大量の作業をミス防止しつつできる。100 回おなじ作業があっても、作業ミスをなくせる。
PoewrCLI / PowerNSX スクリプトに限らず、vRealize Orchestrator や vRealize Automation の情報 などでも。 - 定型化することにより、意図的に構成をシンプルにできる。(複雑化を防止できる。)
- NSXはホスト3台からでもできるが、自動化の仕込みも 3ホストあれば十分はじめられる。
(ちなみに今回の NSX 環境は 3 ESXi ホストですが、1ホストの NSX 環境でもはじめられます。)
以上、今年も PowerNSX 紹介 Advent Calendar でした。
クリスマスなので明るい感じでお伝えしてみました・・・