VMware Avi Load Balancer 31.2.1 -- #1 Deploy

今年も @gowatana さんからお誘いいただきましたので,vExperts Advent Calender 2025 の 6 日目分として参加させていただきます!

adventar.org

今年は VVF (vSphere 8) 環境に Avi Load Balancer 31.2.1 を Deploy して稼働させるまでの記録です.長くなったので 4 分割します(苦笑).



では,早速 Broadcom Support Portal から VMWARE - Controller OVA をダウンロードして始めて行きます.


Avi Controller の Deploy

Download した .ova を使って早速 Deploy OVF Template します.
Avi Controller の VM 名を決めて,Deploy 先を選択したら "NEXT".
Compute resource の選択画面でクラスタを選びましょう.
詳細をレビューしたら "NEXT".
[Select storage] 画面でストレージを選択して "NEXT".
[Select networks] 画面では Avi Controller の管理用ネットワークで使う Port group を選択します.
[Customize template] 画面で admin ユーザーのパスワードを設定し,管理用 IP address, Subnet mask と Default gateway を入力します.今回は IPv6 も使わず,vDS 環境に展開するので,Sysadmin login authentication key 以下は空のまま進めます.
Ready to complete の画面で最終確認したら "NEXT" をクリックし,Deploy が完了したら Controller を起動しましょう.

Deploy が成功していれば https://FQDN/ にアクセスすると Avi Controller の Web UI が表示されます.


vCenter Roles for vCenter Cloud の作成

Administrator でもいいのですが,せっかくなので Role を設定してユーザー作成してみます.
Creating vCenter Roles for vCenter Cloude を参考に,vCenter 側に Avi-Global-Role と Avi-Folder-Role の 2 つの Role を用意します.

新しい Role は Administration > Access Control > Roles で "NEW" をクリックして作成します.
Avi-Global-Role では,Content Library, Datastore, Network, Resource, vApp, Virtual Machine > Change Configuration カテゴリーの各パラメータを選択していきます.

New Role 画面で,Role name を入力し,必要であれば Description を記載して,権限を設定するカテゴリーを選択します.例えば,Content Library カテゴリーでは,Add library item, Delete library item, Update files, Update library item の 4 つの権限にチェックを入れます.
Creating vCenter Roles for vCenter Cloude を参考にしながら,必要な他のカテゴリー項目の権限にチェックを入れていきます.
全てチェックを入れ終わったら,"CREATE" をクリックします.
1 つめの Role が用意できました.
同様の手順で,Avi-Folder-Role も作成しましょう.


Role の確認

せっかく作成した Role ですが,GUI だと確認が面倒くさいので,govc 使って Shell Script を書いておくと便利です.今回は Role の一覧を取得して,選択した Role を JSON 形式で Export してみました.

先程作成した Avi-Global-Role を Export した JSON ファイルです.

{
  "roleId": 268161122,
  "system": false,
  "name": "Avi-Global-Role",
  "info": {
    "label": "Avi-Global-Role",
    "summary": "Role for Avi 32.1 (2025/11/03)"
  },
  "privilege": [
    "ContentLibrary.AddLibraryItem",
    "ContentLibrary.DeleteLibraryItem",
    "ContentLibrary.UpdateLibraryItem",
    "ContentLibrary.UpdateSession",
    "Datastore.AllocateSpace",
    "Datastore.DeleteFile",
    "Network.Assign",
    "Network.Move",
    "Resource.AssignVMToPool",
    "Resource.CreatePool",
    "System.Anonymous",
    "System.Read",
    "System.View",
    "VApp.Import",
    "VirtualMachine.Config.AddNewDisk",
    "VirtualMachine.Config.AdvancedConfig"
  ]
}

他の環境に Import もできるので便利ですよね.コード? LLM に書かせましょうw,


Avi 用 ユーザー作成と Role の割当て

最後に Avi 用ユーザーを作成して Role を割り当てていきましょう.
今回は aviadmin ユーザーを作ってみました.
続いて,Role を aviadmin ユーザーに割り当てます.Avi-Global-Role は Administration > Access Control > Global Permissions から "ADD" します.
"Add Permission" ダイアログで User と Role を選択し,"Propagete to children" にチェックを入れて "OK" をクリックします.
正しく割り当てられていることを確認しましょう.

2 つ目の Avi-Folder-Role は Avi 用に作成した "Avi" フォルダーに割り当てるので,vSphere Client のオブジェクト ナビゲーターから右クリックして "Add Permission..." を選択します.
Global Permissions 割り当ての時と同じように,User と Role を選択し,"Propagete to children" にチェックを入れて "OK" .
これで aviadmin ユーザーに必要な Role 割り当てが完了です.

# 2 へ続きます.

blog.tcpninja.net