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 のコマンドラインを用意してみました。
今回のパラメータのもとにしている環境構成は下記です。
ちなみにこのラボ環境は、下記投稿のように構築しました。ただし、この一連の手順とは異なり、HAProxy にはフロントエンド ネットワークを追加しています。
今回の Enable-WMCluster コマンドレットで置き換えられる部分は、「ワークロード管理の有効化」ウィザードの部分(一連の手順のうち下記の投稿のところ)だけです。
Enable-WMCluster のコマンド ラインの様子
Enable-WMCluster コマンドレットでは、あまりにオプション指定が多いので、スクリプト ファイルに記載しました。
リファレンスは下記のあたりです。Syntax は、NcpNetworking(NSX-T あり)と、 vSphereNetworking(NSX-T なし)にタブが分けられています。
今回は、下記のようなスクリプト ファイルを用意しました。実際のところ、有効化コマンド付きパラメータ ファイルのような感じです。
パラメータの順序は、できるだけ vSphere Client でワークロード管理を有効化するウィザードでの入力順に合わせてみました。
このスクリプトと同じディレクトリには、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 から有効化した場合と同様にクラスタのワークロード管理が有効化されます。
vSphre Client で設定確認をする場合は、クラスタの「設定」→「名前空間」のあたりが分かりやすいかなと思います。
たとえば、ネットワークのパラメータであれば下記のように確認できます。
「管理ネットワーク」
「ワークロード ネットワーク」
「ロードバランサ」
以上、PowerCLI で HAProxy 版 vSphere with Tanzu ワークロード管理を有効化してみる話でした。