vSphere 8.0 U2 の vSphere with Tanzu 自宅ラボ環境を、vDS + Avi Load Balancer を利用して構築していきます。NSX Advanced Load Balancer(NSX-ALB)は最近「Avi」の名前に戻されて、現在は「VMware Avi Load Balancer」が正式名称のようです。
ドキュメントでは下記のあたりを参考にしています。ただし、この投稿ではラボ向けな構成にしています。
今回の内容です。
1. ラボ環境の構成イメージ
まず、ネットワーク構成イメージです。おもに下記のネットワークを利用します。2つめと 3つめのネットワークは、1つのネットワークで兼用する構成にもできますが、理解しやすくするため、あえて分割しています。
- 管理ネットワーク
192.168.10.0/24 - Avi のデータ(LB VIP)ネットワーク
192.168.131.0/24 - ワークロード用ネットワーク
192.168.134.0/24
仮想マシンの配置です。このラボでは、基本的にネステッド ESXi を利用します。
ただし、vCenter Server や、Avi Controller のような、CPU / メモリ リソース割り当てが大きい仮想マシンは、ネストの外側に配置しています。
2. 各種インフラの準備
ラボのインフラとなる仮想マシン(DNS、NTP、ルータなど)を事前に用意していますが、一般的な構築作業なので説明省略しています。
- DNS サーバを用意して、ラボに配置するサーバの正引き(A)と逆引き(PTR)のレコードを登録してあります。
- NTP サーバを用意してあります。
- 共有 NFS データストアとして、Linux NFS サーバを用意してあります。ただし、ラボ構成をシンプルにするため、NFS はネットワークを分けず、管理ネットワークでマウントしています。
3. ネストの外側(物理マシン上の VM)の様子
3-1. ラボを構成する仮想マシンの配置
ネストの外側(物理マシン)は、次のようになっています。
- vCenter Server 8.0 U2 の VCSA をデプロイずみです。サイズは Tiny です。
- ESXi 8.0 U2 のマシンも構築ずみです。今回は 3ノード用意してあります。
- 共有データストアとして利用する NFS サーバは、下記のように構築ずみです。
- Avi Controller もデプロイ済みです。
-
vSphere with Tanzu 8.0 U2 ラボ環境構築。Part-20: NSX ALB Controller のデプロイ の「3. admin ユーザでの言語設定」まで実施してあります。
- 今回は Enterprise Tier ではなく Essential Tier を利用します。
-
3-2. 仮想スイッチ / ポートグループの設定
ESXi VM の vNIC には、ネステッド ESXi 上の仮想マシンが外部と通信できるようにするため、ネスト向けの設定をしたポートグループを割り当てます。
分散ポートグループの場合は、次のように設定します。
- セキュリティ ポリシー: 「無差別モード」と「偽装転送」を承諾。(最近の 分散ポートグループでは、無差別モードのかわりに MAC ラーニングも設定可能)
- VLAN: VLAN トランク(VLAN ID の範囲は 0-4094)を設定する。
- MTU については、NSX のオーバーレイ ネットワークを利用しないためデフォルトのまま(1500)で大丈夫です。
標準ポートグループ(vSS)の場合は、次のように設定します。
- セキュリティ ポリシー: 「無差別モード」と「偽装転送」を承諾。
- VLAN ID: 4095(標準ポートグループではトランクを設定できないため)
- MTU: 1500
なお、ラボ構成としての vNIC 最小本数は、ESXi で vSS と vDS の両方を利用する場合は 2つ、vDS のみの場合は 1つです。
4. ネストの内側の様子
4-1. vSphere クラスタ(vSphere HA & vSphere DRS)
ネストの外側にデプロイずみの vCenter と ESXi VM(さきほどの仮想マシン群)で、ネステッド vSphere 環境を構成してあります。
vSphere HA と vSphere DRS を有効化した vSphere クラスタに、3台の ESXi ホストを登録してあります。
vSphere HA には、ハートビート データストアが1つしかない警告を抑止するために、下記のパラメータを設定しています。
- das.ignoreInsufficientHbDatastore: true
4-2. 共有データストアの準備
下記の投稿のように、共有データストアへのタグ割り当てと、仮想マシン ストレージ ポリシーの作成をしておきます。
NFS データストアを、ESXi 全台にマウントしてあります。データストアには vSphere タグを割り当ててあります。
- データストア: Datastore-NFS-z1
そして、タグをもとに仮想マシンをデータストア配置する、仮想マシン ストレージ ポリシーを作成ずみです。
4-3. vDS と分散ポートグループ
vDS は、下記の手順で作成してあります。
vDS の設定です。
- 名前: DSwitch-31
- バージョン: 8.0.0 - ESXi 8.0 以降
- アップリンク数: 2 ※1でも問題なし
- MTU: 1500
そして、分散ポートグループは次の 3つを作成してあります。
- dvpg-mgmt
- 管理ネットワーク用
- VLAN ID 10
- dvpg-avi-data
- Avi のデータ(LB VIP)ネットワーク用
- VLAN ID 131
- dvpg-wl-01
- Tanzu Kubernetes Grid クラスタのワークロード用(プライマリ)
- VLAN ID 134
- dvpg-wl-02
- Tanzu Kubernetes Grid クラスタのワークロード用 #2
- VLAN ID 135
この構成では NSX を利用しないので、各ネットワーク同士は外部のルータでルーティングしています。
ちなみに、Avi のデータ ネットワークと、ワークロード ネットワークは兼用させることも可能ですが、今回はわかりやすく分割しています。
vDS には、すべてのホストが接続されています。
各 ESXi ホストでは、vDS と vSS に 1つずつ NIC(vmnicN)を接続しています。各 vDS に複数の物理ポートを接続する、実環境に近い構成にすることもできます。
- vDS(DSwitch-31): vmnic2
- vSS(vSwitch0): vmnic0 (vmk0 ポートだけが利用)
ちなみに、ESXi の vmk0 ポートも vDS の分散ポートグループに接続すれば、1つの物理ポートだけでもラボは構成できます。
つづく。