vSphere 7.0 U2 から、vSphere with Tanzu のネットワーク スタックとして、NSX Advanced Load Balancer(NSX-ALB。旧名は Avi)を利用できるようになりました。そこで、さっそくラボ環境を構築してみました。
ドキュメントでは下記のあたりを参考にしています。ただし、この投稿ではラボ向けな構成にしています。
今回の内容です。
ラボ環境の構成イメージ
まず、ネットワーク構成イメージです。おもに、つぎの 3つのネットワークを利用します。2つめと 3つめのネットワークは、1つのネットワークで兼用する構成にもできますが、理解しやすくするため、あえて分割しました。
- 管理ネットワーク
192.168.10.0/24 - NSX-ALB のデータ(LB VIP)ネットワーク
192.168.24.0/24 - Tanzu Kubernetes クラスタのワークロード用ネットワーク
192.168.25.0/24
VM の配置です。このラボでは、基本的にネステッド ESXi を利用します。
ただし、vCenter Server や、NSX-ALB(Avi)コントローラのような、CPU / メモリ リソース割り当てが大きい VM は、ネストの外側に配置しています。
構築開始時点のラボの状況
あらかじめ、ネスト環境として vSphere 7.0 U2 のクラスタを構築してあります。
各種インフラの準備
- DNS サーバを用意して、ラボに配置するサーバは 正引きと逆引き(A と PTR)レコードを登録してあります。
- NTP サーバを用意してあります。
- 共有 NFS データストアとして、Linux NFS サーバを用意してあります。ただし、ラボ構成をシンプルにするため、NFS はネットワークを分けず、管理ネットワークでマウントしています。
ネストの外側(物理マシン上の VM)の様子
ラボを構成する VM の配置
ネストの外側(物理マシン)は、次のようになっています。
- vCenter Server 7.0 U2 の VCSA をデプロイずみです。サイズは Tiny です。
- 共有データストアとして利用する、Linux NFS サーバを構築ずみです。
- ESXi 7.0 U2 をインストールした VM を 4台ほど構築ずみです。ラボとしてであれば、実際は 2ホストでも環境構築可能です。
- この後の手順で、ここに NSX-ALB のコントローラになる VM をデプロイします。
- これ以外にも、ラボのインフラとなる VM を別に用意していますが、一般的なサーバ(DNS、NTP、ルータなど)なので説明省略しています。
仮想スイッチ / ポートグループの設定
ネステッド ESXi として vDS に接続する vNIC には、ネスト向けの設定をしたポートグループを割り当ててあります。
今回は分散ポートグループなので、次のように設定しています。
- セキュリティ ポリシー: 「無差別モード」と「偽装転送」を承諾。(ネステッド ESXi 上の VM が外部と通信できるようにするため)
- VLAN: VLAN トランク(VLAN ID の範囲は、0-4094)。一方、標準仮想スイッチのポートグループの場合はトランク設定できないので、VLAN ID 4095 を設定する。
- MTU については、NSX-T のオーバーレイ ネットワークを利用しないためデフォルトのまま(1500)で大丈夫です。
なお、ラボ構成としての vNIC 最小本数は、ESXi で標準仮想スイッチ(vSS)と vDS の両方を利用する場合は 2つ、vDS のみの場合は 1つです。
ネストの内側の様子
vSphere HA & vSphere DRS クラスタの作成
ネストの外側にデプロイずみの vCenter と ESXi VM(さきほどの VM 群)で、ネステッド vSphere 環境を構成してあります。
vSphere HA と vSphere DRS を有効化した vSphere クラスタに、4台の ESXi ホストを登録してあります。
クラスタに追加してある ESXi は、ESXi 上の VM にインストールされたものなので、モデルが「VMware7,1」と表示されています。
共有データストアの準備
下記の投稿のように、共有データストアへのタグ割り当てと、仮想マシン ストレージ ポリシーの作成をしておきます。
NFS データストアに、ESXi 全台にマウントしてあります。データストアには vSphere タグを割り当ててあります。
そして、データストアに割り当てたタグをもとに仮想マシンを配置する、仮想マシン ストレージ ポリシーを作成ずみです。
分散仮想スイッチ(vDS)
vDS は、バージョン 7.0.2 で作成してあります。
そして、ポートグループは次の 3つを作成してあります。
- DPortGroup-0010-MGMT: 管理ネットワーク用
- DPortGroup-0024-LBData: NSX-ALB のデータ(LB VIP)ネットワーク用
- DPortGroup-0025-WL: Tanzu Kubernetes クラスタのワークロード用
ちなみに、NSX-ALB のデータ ネットワークと、Tanzu Kubernetes クラスタのワークロードネットワークは、1つのネットワークで兼用させることも可能ですが、今回はわかりやすく分割しています。
各ポートグループは、VLAN ID のみ設定変更して、それ以外は(セキュリティ ポリシーも)デフォルト値です。
ただし、この構成では NSX-T を利用しないので、各ネットワーク同士は別途ルーターを用意してルーティングしています。
各 ESXi ホストでは、vDS と vSS にひとつずつ物理 NIC(vmnicN)を接続しています。各 vDS に複数の物理ポートを接続する、実環境に近い構成にすることもできます。一方、ESXi の vmk0 ポートも vDS の分散ポートグループに接続すれば、1つの物理ポートだけでもラボは構成できます。
- vSS(vSwitch0): vmnic0 (vmk0 ポートだけが利用)
- vDS(lab-vds-51): vmnic2
TKG コンテンツ ライブラリの作成
スーパーバイザー クラスタの有効化で、Tanzu Kubernetes Grid のコンテンツ ライブラリを指定することになるので、あらかじめ作成しておきます。
コンテンツ ライブラリは、次のような手順で作成します。コンテンツの格納先については、NFS データストアにしています。
つづく。
vSphere with Tanzu NSX-ALB(Avi)版ラボ環境構築。Part-02 NSX-ALB コントローラのデプロイ - vm.gowatana.jp