VMware Cloud Foundation(VCF)5.2.1 の VI Workload Domain で、vSphere Supervisor (vSphere クラスタのワークロード管理)を有効化してみます。今回は vSphere クラスタでワークロード管理を有効化して、スーパーバイザーを構築してみます。
今回の内容です。
前回はこちら。
今回の環境
VCF 5.2.1 で展開した VI Workload Domain(vcf-w01)を利用します。Management Worklaod Domain の vCenter Server を下記のように 8.0 U3d にアップデートしてあるため、そこから展開した VI Worklaod Domain の vCenter も 8.0 u3d になっています。
前回の投稿にて、NSX Edge Cluster を展開してあります。
vSphere クラスタでワークロード管理を有効化すると、Supervisor Control Plane VM(3台)が自動展開されて、スーパーバイザーの機能が追加されます。今回は NSX を利用しているので、Kubernetes Service の Load Balancer は、NSX LB で作成されます。
Supervisor Control Plane VM を接続する分散ポートグループは、NSX Edge Cluster 追加時に作成された、仮想マシン管理ネットワークのものを使用します。
- 分散ポートグループ:vcf-w01-cl01-vds-01-pg-vm-mgmt
- VLAN ID:70
ネスト環境でワークロード管理を有効化する場合、vSphere クラスタの Skyline Health で SCSI コントローラの互換性についての警告が検知されます。警告ではありますが、このままでは Supervisor Control Plane VM 起動後の ESXi への Spherelet インストールのあたりで処理が止まってしまいます。そこで、事前に「サイレンス アラート」をクリックして、アラートを抑止しておきます。
ワークロード管理の有効化
vSphere クラスタで、ワークロード管理を有効化します。
vSphere Client の「ホーム」、または画面左上のマークあたりから「ワークロード管理」を開いて、「開始する」をクリックします。
1. vCenter Server とネットワーク
vCenter Server とネットワーク スタックを選択します。この vCenter は拡張リンク モードで 2つの vCenter インスタンス(Management / VI Worklaod Domain)が登録されているので、ここでは VI Worklaod Domain の vCenter を選択します。
下記が選択されていることを確認して、「次へ」をクリックします。
- vCenter Server システムの選択: VCF-W01-VC-01.C.GO-LAB.JP (NSX をサポート)
- ネットワーク スタックの選択: NSX
2. スーパーバイザーの配置
今回はクラスタが1つのみなので、「クラスタのデプロイ」タブを選択して、 1-Zone 構成にします。
スーパーバイザーの名前を入力して、ワークロード管理を有効化する(スーパーバイザーにする)クラスタを選択します。
- スーパーバイザー名:sv-01
- クラスタ名:vcf-w01-cl01
vSphere Zone に設定する名前を入力して、「次へ」をクリックします。
- vSphere Zone 名: zone-01
3. ストレージ
仮想マシン ストレージ ポリシーを選択して、「次へ」をクリックします。今回は、VI Workload Domain デプロイ時に自動作成されたポリシーを使用します。
- 制御プレーン ストレージ ポリシー:vcf-w01-cl01 vSAN Storage Policy
- 短期ディスク ストレージ ポリシー:vcf-w01-cl01 vSAN Storage Policy
- イメージ キャッシュ ストレージ ポリシー:vcf-w01-cl01 vSAN Storage Policy
ちなみに、それぞれ下記の用途で利用されます。
- 制御プレーン → Supervisor Control Plane VM の VMDK を配置するデータストア
- 短期ディスク → vSphere Pod で利用するデータストア
- イメージ キャッシュ → コンテナ イメージのキャッシュ
4. 管理ネットワーク
Supervisor Control Plane VM(3台)の管理ネットワークを設定して、「次へ」をクリックします。このラボでは、下記のように設定しています。
- ネットワーク モード:静的
- ネットワーク:vcf-w01-cl01-vds-01-pg-vm-mgmt
- 開始 IP アドレス:192.168.70.41(5つの IP アドレスが予約されるので ~ .45)
- サブネット マスク:255.255.255.0
- ゲートウェイ:192.168.70.1
- DNS サーバ:192.168.70.3
- DNS 検索ドメイン:go-lab.jp
- NTP サーバ:192.168.70.3
ここで指定する「開始 IP アドレス」は Supervisor Control Plane VM に付与される IP アドレスで、開始 IP アドレスから 5つが採番されます。IP アドレスの割り当ては、かならずしも仮想マシン名末尾の番号「(1) ~」とは一致せず、デプロイ処理が完了した順に割り当てられるようです。
- Supervisor Control Plane VM の Floating IP アドレス。今回は .41
- Supervisor Control Plane VM リアル IP アドレス。デプロイ進捗が早い順に、.42 ~ .44
- アップグレード時の予約。今回は .45
5. ワークロード ネットワーク
スーパーバイザーの Kubernetes クラスタとしてのネットワーク設定です。下記のようにパラメータを入力して「次へ」をクリックします。
- vSphere Distributed Switch:vcf-w01-vcf-w01-cl01-vds-01
- DNS サーバ:192.168.70.3
- Edge クラスタ:vcf-w01-edge-cluster
- Tier-0 ゲートウェイ:vcf-w01-t0
- NAT モード:有効 ※デフォルトのまま
- サブネット プリフィックス:/28 ※デフォルトのまま
- 名前空間ネットワーク:10.244.0.0/20 ※デフォルトのまま
- 入力方向 CIDR:192.168.82.0/24 ※NSX Tier-1 ゲートウェイのロード バランサ VIP アドレスになる。
- 出力方向 CIDR:192.168.83.0/24 ※NSX Tier-1 ゲートウェイの SNAT アドレスになる。
ここで入力するアドレスは下記のように利用されます。
- 名前空間ネットワーク
- Supervisor Control Plane VM、vSphere Pod、VKS(TKGS)クラスタ ノード仮想マシンの接続されるネットワークのアドレスです。
- 自動作成される NSX オーバーレイ セグメントに、レンジから「サブネット プレフィックス」単位(今回は /28)でネットワークが払い出されます。
- サービス CIDR
- Kubernetes クラスタ内部通信で使用される、ClusterIP のアドレス採番で使用されるレンジです。
- NSX LB / NSX ALB ではなく、NSX DLB(分散ロード バランサー)で、VIP が提供されます。
- 入力方向 CIDR
- Tier-0 ゲートウェイの外部インターフェイス(Edge のアップリンク)で受信してルーティング可能なネットワークから、/27 以上のレンジを指定します。
- このレンジから、NSX LB または Avi Load Balancer による VIP が払い出されます。
- この CIDR の1番目の IP アドレスは、CSI Controller の VIP(192.168.82.1)になります。
- この CIDR の2番目の IP アドレスは、Kube API Server VIP(192.168.82.2)になります。kubectl のダウンロード ページもこのアドレスです。
- 出力方向 CIDR
- スーパーバイザーで展開される Pod(コンテナ)などから外部にアクセスするための SNAT アドレスです。
- NSX Tier-1 ゲートウェイに、SNAT アドレスとして設定されます。
- Tier-0 ゲートウェイの外部インターフェイス(NSX Edge のアップリンク)でルーティング可能なネットワークから、/27 以上のレンジを指定します。
6. 確認
Supervisor Control Plane VM のサイズなどを指定します。
- スーパーバイザー制御プレーンのサイズ:小(4 vCPU、16GB RAM、32GB ストレージ)
- API サーバの DNS 名:空欄のまま
- 設定のエクスポート:ON
そして「完了」をクリックすると、ワークロード管理を有効化する処理が開始します。
ワークロード管理を有効化する処理が開始されるので、しばらく待ちます。
ワークロード管理が有効化された vSphere クラスタの様子
処理が完了すると、スーパーバイザーの「構成ステータス」と「ホストの構成ステータス」が、両方とも「実行中」になります。
「制御プレーン ノードの IP アドレス」は、最終的に「入力方向 CIDR」で指定したレンジの IP アドレスが設定されます。(この環境では 192.168.82.2)
制御プレーン ノードの IP アドレス(192.168.82.2)に Web ブラウザで HTTPS でアクセスして、証明書エラーを無視して進むと、Kubernetes CLI Tools のダウンロード ページが表示されます。
このページにアクセスできない場合は、ワークロード管理の有効化が成功していても、物理ネットワークや NSX オーバーレイ ネットワークなどの設定(途中経路の MTU など)が不足していたり、スーパーバイザーの構成がうまくできていない可能性があります。
ワークロード管理が有効化され、スーパーバイザーが組み込まれたクラスタには、クラスタの「サマリ」タブにスーパーバイザー(sv-01)へのリンクが表示されます。
「Namespaces」リソースプールが作成され、3台の Supervisor Control Plane VM が展開されます。ちなみに、ESXi が4ホスト以上あるクラスタでも 3台です。
NSX での Ingress / Egrass 設定の様子
スーパーバイザーの入力方向 CIDR(Ingress)、出力方向 CIDR(Egress)アドレスは、NSX で実装されます。
- 入力方向 CIDR(Ingress): 192.168.82.0/24 ※NSX LB の VIP アドレスになる。
- 出力方向 CIDR(Egress): 192.168.83.0/24 ※NSX の SNAT アドレスになる。
NSX Manager の「ロード バランシング」画面を確認すると、スーパーバイザーの構成時に自動作成された Tier-1 ゲートウェイに、ロード バランサが作成されています。仮想サーバの数字リンクを開くと・・・
制御プレーンの IP アドレス(入力方向 CIDR から)が設定された仮想サーバが作成されているので、サーバ プールを開いてみます。
サーバ プール メンバーとして、Supervisor Control Plane VM(3台)が登録されています。
「NAT」画面を確認すると、スーパーバイザー構成時に自動作成された Tier-1 ゲートウェイの SNAT ルールとして、出力方向 CIDR のアドレスが設定されています。
つづく。