PowerCLI で vSphere with Tanzu ワークロード管理を有効化。(HAProxy) - vm.gowatana.jp

vm.gowatana.jp

NEOにほんごVMware(仮)

PowerCLI で vSphere with Tanzu ワークロード管理を有効化。(HAProxy)

PowerCLI 12.3 で、HAProxy を利用した vSphere with Tanzu のワークロード管理を有効化してみます。

 

今回の内容です。

 

はじめに

PowerCLI 12.1 から、vSphere with Tanzu のワークロード管理を有効化(つまりスーパーバイザー クラスタの有効化)できるようになりました。これは、Enable-WMCluster を利用しますが、以前は NSX-T を利用するパターンのみに対応していました。

 

NSX-T 利用パターンでワークロード管理を有効化する様子については、以前の投稿もどうぞ。

 

PowerCLI 12.3 からは、NSX-T なし(vSphere Networking)で HAProxy を利用するパターンにも対応できるオプションが追加されました。そこで、実際のコマンドラインの様子を残しておこうと思います。

ちなみに、NSX Advanced Load Balancer(NSX-ALB。旧 Avi)を利用するパターンには未対応のようです。

 

今回の環境

以前の VMware DevOps Meetup #8 で紹介したラボ環境にあわせた Enable-WMCluster のコマンドラインを用意してみました。

今回のパラメータのもとにしている環境構成は下記です。

f:id:gowatana:20210410232707p:plain

 

ちなみにこのラボ環境は、下記投稿のように構築しました。ただし、この一連の手順とは異なり、HAProxy にはフロントエンド ネットワークを追加しています。

 

今回の Enable-WMCluster コマンドレットで置き換えられる部分は、「ワークロード管理の有効化」ウィザードの部分(一連の手順のうち下記の投稿のところ)だけです。

 

Enable-WMCluster のコマンド ラインの様子

Enable-WMCluster コマンドレットでは、あまりにオプション指定が多いので、スクリプト ファイルに記載しました。

リファレンスは下記のあたりです。Syntax は、NcpNetworking(NSX-T あり)と、 vSphereNetworking(NSX-T なし)にタブが分けられています。

 

今回は、下記のようなスクリプト ファイルを用意しました。実際のところ、有効化コマンド付きパラメータ ファイルのような感じです。

パラメータの順序は、できるだけ vSphere Client でワークロード管理を有効化するウィザードでの入力順に合わせてみました。

gist.github.com

 

このスクリプトと同じディレクトリには、HAProxy の CA 証明書を lab-haproxy-41_ca.crt ファイルとして保存してあります。

また、ワークロード ネットワークのパラメータは直接 Enable-WMCluster で指定することも可能ですが、見やすくするため事前に New-WMNamespaceNetworkSpec でネットワークごとにオブジェクト作成してあります。

PS C:\work> cat .\lab-haproxy-41_ca.crt
-----BEGIN CERTIFICATE-----
MIIDoTCCAomgAwIBAgIJALfAfmEWvrnTMA0GCSqGSIb3DQEBBQUAMG4xCzAJBgNV
BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRIwEAYDVQQHDAlQYWxvIEFsdG8x
(省略)
RAmwjnxcS6CO/O7Ldf49XuF2/7i8sKpxHxdCJphvnG/GCCWo8GeY+SEC+uN89Vw9
wz600Y3gE+3XsBzpjN0XknVwOdxl
-----END CERTIFICATE-----

 

この CA 証明書は、下記投稿にあるように HAProxy VM から取得したものです。

 

Enable-WMCluster の実行

用意したスクリプトは下記のように実行します。今回は -RunAsync オプションをしていしたので非同期処理になり、実行するとすぐに PowerShell のプロンプトが戻ります。

PS C:\work> .\enable_wm_wcp-cluster-41_haproxy.ps1

 

ちなみに、実行時に下記のようなエラーになることがあります。

これは、ちゃんと ManagementNetworkSubnetMask オプションを指定していても発生してしまうことがあるようです。~SubnetMask オプションの不足であるように表示されていますが、ManagementNetworkGateway オプションが不足している場合にも発生しました。(おそらく不具合かと・・・)

Enable-WMCluster : Parameter ManagementNetworkSubnetMask must be specified when parameter ManagementNetworkMode has value 'StaticRange'.

 

しばらく処理の完了をまつと、vSphere Client から有効化した場合と同様にクラスタのワークロード管理が有効化されます。

f:id:gowatana:20210410235435p:plain

 

vSphre Client で設定確認をする場合は、クラスタの「設定」→「名前空間」のあたりが分かりやすいかなと思います。

たとえば、ネットワークのパラメータであれば下記のように確認できます。

 

「管理ネットワーク」

f:id:gowatana:20210410235726p:plain

 

「ワークロード ネットワーク」

f:id:gowatana:20210410235708p:plain

 

「ロードバランサ」

f:id:gowatana:20210410235737p:plain
 

以上、PowerCLI で HAProxy 版 vSphere with Tanzu ワークロード管理を有効化してみる話でした。