NSX-T 3.1.2 最小限構成のインストール方法 (2/7) NSX Edgeのデプロイ

スポンサーリンク

自宅で検証できそうなスペックに合わせたNSX-Tのインストール手順を紹介します。NSX Manager 3台, NSX Edge 2台, ESXi 2台, vCenter 1台の構成で、このページではNSX Edgeのデプロイ方法について説明します。

構築範囲

このページでは、NSX Edgeの構築方法を説明します。構築範囲を図示すると以下の範囲です。

NSX-T 構築範囲の説明

NSX Edgeのインストール

ダウンロード

My VMwareのNSX-T ダウンロードページ」へアクセスします。「VMware NSX-T Data Center 3.1.2」の「ダウンロードする」を押下します。

NSX Edgeのダウンロード 01

「NSX Edge for VMware ESXi」の「今すぐダウンロード」を押下します。

NSX Edgeのダウンロード 02

OVFテンプレートのデプロイ

ESXiまたはクラスタの右クリックメニューで「OVFテンプレートのデプロイ」を選びます。

NSX Edgeのデプロイ 01

さきほどダウンロードしたovaファイルを指定します。

NSX Edgeのデプロイ 02

「仮想マシン名(vCenterやESXi上で表示される名前)」とフォルダを指定し、「次へ」を押下します。

NSX Edgeのデプロイ 03

デプロイ先のESXiホストまたはクラスタを選びます。

NSX Edgeのデプロイ 04

テンプレートの情報確認の画面です。「次へ」を押下します。

NSX Edgeのデプロイ 05

検証サーバのスペックに応じて、NSX-T Managerのサイズを選びます。

NSX Edgeのデプロイ 06

デプロイ先のストレージを選びます。もし、検証環境のディスクに余裕がないならば、「シンプロビジョニング」で妥協するのもよいでしょう。

NSX Edgeのデプロイ 07

ポートグループを指定します。Network 1は管理用IPアドレスが付与されるvNICですが、それ以外のvNICは後続手順で任意の用途を指定できます。

後続手順ではNetwork 1, Network 2のような名前ではなく、fp-the0, fp-eth1という名前が使用されます。この画面で表示される名前と後続の名前のマッピングを示すと以下の通りです。

OVAデプロイ時の名称 NSX-Tの名称 用途
Network 1 eth0 管理IPアドレス
Network 2 fp-eth0 後続手順で指定(このシナリオではTEP用途)
Network 3 fp-eth1 後続手順で指定(このシナリオでは物理ルータとの接続用途)
Network 4 fp-eth2 後続手順で指定(このシナリオでは使用しない)

NSX Edgeのデプロイ 08

rootユーザのパスワードを指定します。

NSX Edgeのデプロイ 09

adminユーザのパスワードを指定します。Web UIでログインする時やsshログインするときのユーザです。

NSX Edgeのデプロイ 10

auditユーザのパスワードを指定します。auditは読み取り権限のみが与えられた監査用ユーザです。

NSX Edgeのデプロイ 11

「Manage IP」「Management User」などの設定はNSX Managerと連携されるためのNSX Managerの認証情報を指定する画面です。後続手順でCLIでNSX Managerと連携させますので、今は「空欄」のままとします。

NSX Edgeのデプロイ 12

ホスト名や管理用IPアドレスの設定をします。ここでの「Management Network IPv4 Address」などの指定は、NSX Managerとの連携指定ではなく、NSX Edgeの管理IPアドレスの指定の意味です。若干紛らわしい言い回しなので、慣れないうちは注意が必要です。

NSX Edgeのデプロイ 13

DNSの設定をします。DNSサーバを複数指定する場合は、スペースで区切ります。

NSX Edgeのデプロイ 14

NTPサーバを指定します。その他、SSHログインやrootログインを許可するかの設定があります。セキュリティ上は非推奨であるものの、有効にしておくと操作が便利です。商用のサービスイン前に無効化することもできます。

NSX Edgeのデプロイ 15

以上の設定が完了したら、「次へ」を押下します。

NSX Edgeのデプロイ 16

設定確認の画面です。「完了」を押下します。

NSX Edgeのデプロイ 17

デプロイが完了するまで待ちます。また、同様の操作を繰り返し、複数台のNSX Edgeを構築します。

NSX Edgeのデプロイ 18

NSX Edgeの起動

デプロイ完了後、仮想マシンを起動します。

NSX Edgeの起動

ManagerとEdge間の連携

ManagerとEdgeを連携させます。連携するためには、Managerのthumbprintの指定が必要です。まずはthumbprintを調査します。

NSX Managerへadminユーザでsshログインします。その後、「get certificate api thumbprint」コマンドでthumbprintを表示させます。

nsxt-manager121> get certificate api thumbprint 
Sat May 01 2021 UTC 09:28:46.318
84769df3a360e95df7e97d24a3aa165d1d4d6466c4b37ceb1f9056c5d26e2c36

nsxt-manager121> 

ManagerとEdge間の連携設定 01

NSX Edgeへadminユーザでsshログインします。その後、joinコマンドの引数にNSX ManagerのIPアドレスとthumbprintなどを指定して実行します。対話形式で聞かれるパスワードは、NSX Managerのadminパスワードです。

NSX Edgeの台数分だけ、同様の操作を繰り返します。

nsxt-edge131> join management-plane 192.168.1.121 username admin thumbprint 84769df3a360e95df7e97d24a3aa165d1d4d6466c4b37ceb1f9056c5d26e2c36
Password for API user: 
Node successfully registered as Fabric Node: 588be5e2-aa61-11eb-b041-005056a37b26

nsxt-edge131> 

ManagerとEdge間の連携設定 02

NSX Managerの画面にて、「システム」「ファブリック」「ノード」「Edgeトランスポートノード」の順に押下します。NSX Edgeが登録されていることを確認します。

ManagerとEdge間の連携設定 03

補足説明

トラブル調査

疎通不能の場合は、コンソール経由でNSX Managerへログインし、状況を調査しましょう。

NSX Managerはキーボードが設定されていませんので、英字キーボード配列いなっていることに注意ください。例えば、「@」を入力するならば「Shift + 2」です。

NSX Edgeのコンソール操作

ログイン後は、Debuian OSとほぼ同等の調査が可能です。例えば、IPアドレスなどの設定を確認するならば、以下のような操作をします。

root@nsx-edge131:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
    address 192.168.1.131
    netmask 255.255.255.0
    gateway 192.168.1.1
auto bond0
iface bond0 inet manual
    bond-mode active-backup
    bond-slaves none

root@nsx-edge131:~# 
root@nsx-edge131:~# 
root@nsx-edge131:~# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:a3:af:bb brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.131/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fea3:afbb/64 scope link 
       valid_lft forever preferred_lft forever
6: bond0: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 4a:27:ec:51:e3:9d brd ff:ff:ff:ff:ff:ff
7: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:27:0c:22:c5 brd ff:ff:ff:ff:ff:ff
    inet 169.17.0.1/16 brd 169.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
8: kni-fp-eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UNKNOWN group default qlen 1000
    link/ether 00:50:56:a3:e2:fb brd ff:ff:ff:ff:ff:ff
    inet6 fe80::250:56ff:fea3:e2fb/64 scope link 
       valid_lft forever preferred_lft forever
9: kni-fp-eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UNKNOWN group default qlen 1000
    link/ether 00:50:56:a3:88:c3 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::250:56ff:fea3:88c3/64 scope link 
       valid_lft forever preferred_lft forever
10: kni-fp-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UNKNOWN group default qlen 1000
    link/ether 00:50:56:a3:41:fc brd ff:ff:ff:ff:ff:ff
    inet6 fe80::250:56ff:fea3:41fc/64 scope link 
       valid_lft forever preferred_lft forever
root@nsx-edge131:~# 

pingやtracerouteの調査も可能です。

root@nsx-edge131:~# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.551 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.427 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.420 ms
^C
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2052ms
rtt min/avg/max/mdev = 0.420/0.466/0.551/0.060 ms
root@nsx-edge131:~# 
root@nsx-edge131:~# 
root@nsx-edge131:~# traceroute -I -n 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  192.168.1.1  0.609 ms  0.529 ms  0.516 ms
 2  42.144.44.1  18.845 ms  18.854 ms  19.028 ms
 3  10.202.106.3  20.536 ms  20.523 ms  27.933 ms
 4  172.25.25.41  30.494 ms  31.458 ms  31.443 ms
 5  10.1.0.237  29.524 ms  29.501 ms  29.700 ms
 6  175.129.17.98  29.827 ms  29.928 ms  29.828 ms
 7  175.129.17.97  29.393 ms  22.787 ms  22.880 ms
 8  61.26.74.46  22.399 ms  20.921 ms  22.012 ms
 9  74.125.147.116  25.416 ms  23.599 ms  34.208 ms
10  209.85.245.217  31.264 ms  31.275 ms  31.433 ms
11  142.250.226.61  30.832 ms  31.026 ms  30.547 ms
12  8.8.8.8  24.816 ms  23.949 ms  15.154 ms
root@nsx-edge131:~# 

自動化

OVAテンプレートのデプロイ

OVAテンプレートのでデプロイはovftoolを用いるとコマンドライン実行も可能です。特にOVAテンプレートは入力項目が多く操作ミスを誘発しやすいので、慣れてきたらコマンドライン操作に変更しましょう。操作例は以下の通りです。

以下はLinuxで操作する前提のため改行を「\」で表しています。Windowsのコマンドプロンプトなどで操作する場合は、改行を「^」で指定してください。

ovftool \
  --name=131-nsx-edge \
  --deploymentOption=medium \
  --X:injectOvfEnv \
  --X:logFile=ovftool.log \
  --allowExtraConfig \
  --datastore=datastore15 \
  --net:"Network 0=vSwitch0_vlan0000" \
  --net:"Network 1=vSwitch0_vlan0002" \
  --net:"Network 2=vSwitch0_vlan0003" \
  --net:"Network 3=vSwitch0_vlan0000" \
  --acceptAllEulas \
  --noSSLVerify \
  --diskMode=thin \
  --powerOn \
  --prop:nsx_ip_0=192.168.1.131 \
  --prop:nsx_netmask_0=255.255.255.0 \
  --prop:nsx_gateway_0=192.168.1.1 \
  --prop:nsx_dns1_0="192.168.1.221 192.168.1.1" \
  --prop:nsx_domain_0=gokatei.go \
  --prop:nsx_ntp_0=192.168.1.221 \
  --prop:nsx_isSSHEnabled=True \
  --prop:nsx_allowSSHRootLogin=True \
  --prop:nsx_passwd_0="P@ssw0rdP@ssw0rd" \
  --prop:nsx_cli_passwd_0="P@ssw0rdP@ssw0rd" \
  --prop:nsx_hostname=nsx-edge131.gokatei.go \
  ova/nsx-edge-3.1.2.0.0.17883603.ova \
  vi://administrator@gokatei.go:P@ssw0rd@vcenter00.gokatei.go/?ip=192.168.1.181

ManagerとEdge間の連携

NSX EdgeのOVAテンプレートデプロイ時に、ManagerとEdgeを連携させるパラメタを指定することができます。OVAテンプレートの中には「ノードID」や「パスワード」などのパラメタも指定できますが、ヴイエムウェア社内部用で仕様が公開されてないパラメタも含まれています。仕様が一般公開されているものは「Install NSX Edge on ESXi Using the Command-Line OVF Tool
」を参照ください。NSX Managerへ接続するときは、「IPアドレス」「サムプリント」「トークン」の3つを指定して接続します。

サムプリンtを調査するには、NSX Managerにsshログインし「get certificate api thumbprint」コマンドを実行します。

nsxt-manager121> get certificate api thumbprint 
Thu May 06 2021 UTC 11:46:03.130
84769df3a360e95df7e97d24a3aa165d1d4d6466c4b37ceb1f9056c5d26e2c36

「トークン」は、NSX ManagerへURL「/api/v1/aaa/registration-token」へPOSTリクエストを送付することで発行できます。

[root@ansible012 ~]# curl --request POST \
>   -u admin:P@ssw0rdP@ssw0rd \
>   --header "Content-Type:application/json" \
>   -k https://192.168.1.121/api/v1/aaa/registration-token
{
  "token" : "fb0861f7-2939-423b-9933-41e2ad5d62fc",
  "roles" : [ "enterprise_admin" ],
  "user" : "admin"
}

以上の処理を自動化する場合の実装例を以下に示します。

TOKEN=$(curl --request POST \
  -u admin:P@ssw0rdP@ssw0rd \
  --header "Content-Type:application/json" \
  -k https://192.168.1.121/api/v1/aaa/registration-token \
  | jq -r ".token")

ovftool \
  --name=133-nsx-edge \
  --deploymentOption=medium \
  --X:injectOvfEnv \
  --X:logFile=ovftool.log \
  --allowExtraConfig \
  --datastore=datastore15 \
  --net:"Network 0=vSwitch0_vlan0000" \
  --net:"Network 1=vSwitch0_vlan0002" \
  --net:"Network 2=vSwitch0_vlan0003" \
  --net:"Network 3=vSwitch0_vlan0000" \
  --acceptAllEulas \
  --noSSLVerify \
  --diskMode=thin \
  --powerOn \
  --prop:nsx_ip_0=192.168.1.133 \
  --prop:nsx_netmask_0=255.255.255.0 \
  --prop:nsx_gateway_0=192.168.1.1 \
  --prop:nsx_dns1_0="192.168.1.221 192.168.1.1" \
  --prop:nsx_domain_0=gokatei.go \
  --prop:nsx_ntp_0=192.168.1.221 \
  --prop:nsx_isSSHEnabled=True \
  --prop:nsx_allowSSHRootLogin=True \
  --prop:nsx_passwd_0="P@ssw0rdP@ssw0rd" \
  --prop:nsx_cli_passwd_0="P@ssw0rdP@ssw0rd" \
  --prop:nsx_hostname=nsx-edge133.gokatei.go \
  --prop:mpIp="192.168.1.121" \
  --prop:mpToken="${TOKEN}" \
  --prop:mpThumbprint="84769df3a360e95df7e97d24a3aa165d1d4d6466c4b37ceb1f9056c5d26e2c36" \
  ova/nsx-edge-3.1.2.0.0.17883603.ova \
  vi://administrator@gokatei.go:P@ssw0rd@vcenter00.gokatei.go/?ip=192.168.1.181
タイトルとURLをコピーしました