vm.gowatana.jp

NEOにほんごVMware(仮)

vSphere with Tanzu NSX-ALB(Avi)版ラボ環境構築。Part-01 事前準備編

vSphere 7.0 U2 から、vSphere with Tanzu のネットワーク スタックとして、NSX Advanced Load Balancer(NSX-ALB。旧名は Avi)を利用できるようになりました。そこで、さっそくラボ環境を構築してみました。

 

ドキュメントでは下記のあたりを参考にしています。ただし、この投稿ではラボ向けな構成にしています。

 

今回の内容です。

 

ラボ環境の構成イメージ

まず、ネットワーク構成イメージです。おもに、つぎの 3つのネットワークを利用します。2つめと 3つめのネットワークは、1つのネットワークで兼用する構成にもできますが、理解しやすくするため、あえて分割しました。

  1. 管理ネットワーク
    192.168.10.0/24
  2. NSX-ALB のデータ(LB VIP)ネットワーク
    192.168.24.0/24
  3. Tanzu Kubernetes クラスタのワークロード用ネットワーク
    192.168.25.0/24

f:id:gowatana:20210331233319p:plain

 

VM の配置です。このラボでは、基本的にネステッド ESXi を利用します。

ただし、vCenter Server や、NSX-ALB(Avi)コントローラのような、CPU / メモリ リソース割り当てが大きい VM は、ネストの外側に配置しています。

f:id:gowatana:20210331233342p:plain

 

構築開始時点のラボの状況

あらかじめ、ネスト環境として 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、ルータなど)なので説明省略しています。

f:id:gowatana:20210330213453p:plain

 

仮想スイッチ / ポートグループの設定

ネステッド ESXi として vDS に接続する vNIC には、ネスト向けの設定をしたポートグループを割り当ててあります。

今回は分散ポートグループなので、次のように設定しています。

  • セキュリティ ポリシー: 「無差別モード」と「偽装転送」を承諾。(ネステッド ESXi 上の VM が外部と通信できるようにするため)
  • VLAN: VLAN トランク(VLAN ID の範囲は、0-4094)。一方、標準仮想スイッチのポートグループの場合はトランク設定できないので、VLAN ID 4095 を設定する。
  • MTU については、NSX-T のオーバーレイ ネットワークを利用しないためデフォルトのまま(1500)で大丈夫です。

f:id:gowatana:20210330214251p:plain

 

なお、ラボ構成としての vNIC 最小本数は、ESXi で標準仮想スイッチ(vSS)と vDS の両方を利用する場合は 2つ、vDS のみの場合は 1つです。

 

ネストの内側の様子

vSphere HA & vSphere DRS クラスタの作成

ネストの外側にデプロイずみの vCenter と ESXi VM(さきほどの VM 群)で、ネステッド vSphere 環境を構成してあります。

vSphere HA と vSphere DRS を有効化した vSphere クラスタに、4台の ESXi ホストを登録してあります。

f:id:gowatana:20210330215341p:plain

 

クラスタに追加してある ESXi は、ESXi 上の VM にインストールされたものなので、モデルが「VMware7,1」と表示されています。

f:id:gowatana:20210330220853p:plain

 

共有データストアの準備

下記の投稿のように、共有データストアへのタグ割り当てと、仮想マシン ストレージ ポリシーの作成をしておきます。

 

NFS データストアに、ESXi 全台にマウントしてあります。データストアには vSphere タグを割り当ててあります。

f:id:gowatana:20210330215736p:plain

 

そして、データストアに割り当てたタグをもとに仮想マシンを配置する、仮想マシン ストレージ ポリシーを作成ずみです。

f:id:gowatana:20210330215921p:plain

 

分散仮想スイッチ(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つのネットワークで兼用させることも可能ですが、今回はわかりやすく分割しています。

f:id:gowatana:20210330221535p:plain

 

各ポートグループは、VLAN ID のみ設定変更して、それ以外は(セキュリティ ポリシーも)デフォルト値です。

ただし、この構成では NSX-T を利用しないので、各ネットワーク同士は別途ルーターを用意してルーティングしています。

f:id:gowatana:20210330221704p:plain

 

各 ESXi ホストでは、vDS と vSS にひとつずつ物理 NIC(vmnicN)を接続しています。各 vDS に複数の物理ポートを接続する、実環境に近い構成にすることもできます。一方、ESXi の vmk0 ポートも vDS の分散ポートグループに接続すれば、1つの物理ポートだけでもラボは構成できます。

  • vSS(vSwitch0): vmnic0 (vmk0 ポートだけが利用)
  • vDS(lab-vds-51): vmnic2

f:id:gowatana:20210330222718p:plain

 

TKG コンテンツ ライブラリの作成

スーパーバイザー クラスタの有効化で、Tanzu Kubernetes Grid のコンテンツ ライブラリを指定することになるので、あらかじめ作成しておきます。

コンテンツ ライブラリは、次のような手順で作成します。コンテンツの格納先については、NFS データストアにしています。

 

つづく。

vSphere with Tanzu NSX-ALB(Avi)版ラボ環境構築。Part-02 NSX-ALB コントローラのデプロイ - vm.gowatana.jp