NSX Advanced Load Balancer のインストールと構成

NSX Advanced Load Balancer の展開トポロジ

Tanzu Kubernetes Grid では、NSX Advanced Load Balancer に次のコンポーネントが含まれています。

  • Avi Kubernetes Operator (AKO):North-South トラフィック用に Kubernetes クラスタに展開されたアプリケーションに L4-L7 ロード バランシングを提供します。Kubernetes Ingress および LoadBalancer サービス タイプのオブジェクトを待機し、Avi Controller API と通信して VirtualService オブジェクトを作成します。
  • AKO Operator:AKO とクラスタ API 間の通信を有効にするアプリケーションです。AKO のライフサイクルを管理し、クラスタ制御プレーン ノードのロード バランサへの汎用インターフェイスを提供します。AKO オペレータは、管理クラスタにのみ展開されます。
  • サービス エンジン (SE):仮想マシン フォーム ファクタにデータ プレーンを実装します。
  • サービス エンジン グループ:一連のサービス エンジンの形式で隔離の単位を提供します(たとえば、特定の重要な名前空間の専用 SE グループなど)。これにより、作成する必要がある SE のフレーバー(CPU、メモリなど)の形式と、許可される SE の最大数の制限を制御できます。
  • Avi ControllerVirtualService オブジェクトを管理し、vCenter Server インフラストラクチャと通信してサービス エンジン (SE) のライフサイクルを管理します。これは、VirtualServices および SE の健全性と、NSX Advanced Load Balancer が提供する関連分析を表示するためのポータルです。また、バックアップやリストアなどの監視およびメンテナンス操作を制御するポイントでもあります。

Tanzu Kubernetes Grid は、ワンアームおよびマルチアームのネットワーク トポロジに展開された NSX Advanced Load Balancer をサポートします。

マルチアーム ネットワーク トポロジに NSX ALB Essentials Edition を展開する場合は、Avi SE と Kubernetes クラスタ ノード間の通信用に構成されたネットワークに、ファイアウォールまたはネットワーク ポリシーが構成されていないことを確認します。NSX ALB が展開されているマルチアーム ネットワーク トポロジでファイアウォールまたはネットワーク ポリシーを構成するには、自動ゲートウェイ機能を有効にした NSX Advanced Load Balancer Enterprise Edition が必要です。

次の図は、ワンアームの NSX ALB 展開を示しています。

VMware NSX Advanced Load Balancer の展開トポロジ - ワンアーム

次の図は、マルチアームの NSX ALB 展開を示しています。

VMware NSX Advanced Load Balancer の展開トポロジ - マルチアーム

ネットワーク

  • SE は、データ パスに関連してワンアーム モードまたはデュアルアーム モードで展開でき、VIP ネットワークとワークロード クラスタ ノード ネットワークの両方に接続されます。NSX ALB Essentials Edition を使用してデュアルアーム ネットワーク トポロジに SE を展開する場合は、使用するネットワークでファイアウォールまたはネットワーク ポリシーが構成されていないことを確認します。
  • VIP ネットワークとワークロード ネットワークは、Avi Controller が両方のネットワークに接続された SE を作成できるように、同じ vCenter Cloud で検出可能である必要があります。
  • VIP および SE データ インターフェイスの IP アドレスは、VIP ネットワークから割り当てられます。

IPAM

  • DHCP が使用できない場合、VIP と SE インターフェイスの IP アドレスの IP アドレス管理は Avi Controller によって管理されます。
  • Avi Controller の IP アドレス管理プロファイルは、クラウドと使用可能なネットワークのセットで構成されます。
  • VIP ネットワークに DHCP が構成されていない場合は、ターゲット ネットワーク用に少なくとも 1 つの固定プールを作成する必要があります。

リソースの隔離

  • SE グループを使用して、ワークロード クラスタ間のデータ プレーンの隔離を提供できます。vSphere 管理者は、専用の SE グループを構成し、隔離が必要な一連のワークロード クラスタに対して構成できます。
  • SE グループは、Avi Controller によって作成される SE のリソース特性(CPU、メモリなど)を制御する機能を提供します。

テナント

NSX Advanced Load Balancer Essentials では、すべてのワークロード クラスタ ユーザーが単一の管理テナントに関連付けられます。

Avi Kubernetes Operator

Avi Kubernetes Operator がワークロード クラスタにインストールされています。Avi Controller の IP アドレスと、Avi Kubernetes Operator が Avi Controller との通信に使用するユーザー認証情報を使用して構成されます。管理テナントとカスタマイズされたロールを使用して、ワークロードごとの専用ユーザーが作成されます。このロールには、https://github.com/avinetworks/avi-helm-charts/blob/master/docs/AKO/roles/ako-essential.json で定義されている制限されたアクセス権があります。

vCenter Server への Avi Controller のインストール

vCenter Server に Avi をインストールするには、Avi ドキュメントの「Installing Avi Vantage for VMware vCenter」を参照してください。

vCenter Server with VMware NSX に Avi をインストールするには、Avi ドキュメントの「Installing Avi Vantage for VMware vCenter with NSX」を参照してください。

このリリースでサポートされている Avi Controller のバージョンについては、『Tanzu Kubernetes Grid v2.4 リリース ノート』を参照してください。Avi Controller をアップグレードするには、「Avi Vantage の柔軟なアップグレード」を参照してください。

NSX ALB のインストールと構成の前提条件

Tanzu Kubernetes Grid NSX - Advanced Load Balancer 統合ソリューションを有効にするには、Avi Controller を展開して構成する必要があります。現在、Tanzu Kubernetes Grid は、vCenter Cloud および NSX-T クラウドでの Avi Controller の展開をサポートしています。

Tanzu Kubernetes Grid - NSX Advanced Load Balancer 統合ソリューションを機能させるには、環境のネットワーク トポロジが次の要件を満たす必要があります。

  • Avi Controller には、vCenter Server、管理クラスタ、およびワークロード クラスタからアクセスできる必要があります。
  • ロード バランサ タイプのサービスと入力方向のデータ プレーンを実装するように Avi Controller に要求するには、管理クラスタとワークロード クラスタの AKO が Avi Controller にアクセスできる必要があります。
  • Avi サービス エンジン (SE) は、SE がロード バランシング データ プレーンを提供する Kubernetes クラスタからアクセスできる必要があります。
  • Avi サービス エンジンは、ロード バランシング機能を提供するクラスタにトラフィックをルーティングする必要があります。

NSX Cloud

Tanzu Kubernetes Grid と NSX および NSX Advanced Load Balancer (Avi) の統合は、次のバージョンでサポートされています。

NSX Avi Controller Tanzu Kubernetes Grid
3.0+ 20.1.1+ 1.5.2+

Avi Controller の設定:IP アドレス管理と DNS

NSX Advanced Load Balancer を使用する前に、コントローラ ユーザー インターフェイスで構成する追加の設定があります。

  1. コントローラ ユーザー インターフェイスで、[テンプレート (Templates)] > [プロファイル (Profiles)] > [IP アドレス管理/DNS プロファイル (IPAM/DNS Profiles)] に移動し、[作成 (Create)] をクリックし、[IP アドレス管理プロファイル (IPAM Profile)] を選択します。

    • プロファイルの名前(tkg-ipam-profile など)を入力します。
    • [タイプ (Type)][Avi Vantage の IP アドレス管理 (Avi Vantage IPAM)] のままにしておきます。
    • [VRF での IP アドレスの割り当て (Allocate IP in VRF)] をオフのままにします。
    • [使用可能なネットワークの追加 (Add Usable Network)] をクリックします。
    • [Default-Cloud] を選択します。
    • [使用可能なネットワーク (Usable Network)] で仮想 IP アドレスを割り当てるネットワークを選択します。フラット ネットワーク トポロジを使用している場合は、前の手順で選択したネットワーク(管理ネットワーク)と同じにすることができます。別のネットワーク トポロジの場合は、仮想 IP アドレス用に別のポート グループ ネットワークを選択します。
    • (オプション)[使用可能なネットワークの追加 (Add Usable Network)] をクリックして、追加の VIP ネットワークを構成します。
    • [保存 (Save)] をクリックします。

    IP アドレス管理および DNS プロファイルの構成

  2. [IP アドレス管理/DNS プロファイル (IPAM/DNS Profiles)] ビューで、[作成 (Create)] を再度クリックし、[DNS プロファイル (DNS Profile)] を選択します。

    LoadBalancer サービス タイプを使用する場合、DNS プロファイルはオプションです。

    • プロファイルの名前(tkg-dns-profile など)を入力します。
    • [タイプ (Type)] には、[AVI Vantage DNS] を選択します。
    • [DNS サービス ドメインの追加 (Add DNS Service Domain)] をクリックし、少なくとも 1 つの [ドメイン名 (Domain Name)] エントリを入力します(例:tkg.nsxlb.vmware.com)。
      • これは、管理できる DNS ドメインから取得する必要があります。
      • これは、コントローラがホスト名にトラフィックをルーティングするロジックのベースとなるワークロード クラスタの L7 入力方向構成にとってより重要です。
      • コントローラが管理する入力方向リソースは、ここで選択したドメイン名に属するホスト名を使用する必要があります。
      • このドメイン名は、LoadBalancer タイプのサービスにも使用されますが、主に Avi DNS VS をネーム サーバとして使用する場合に関連します。
      • 各仮想サービスは、AVI DNS 構成にエントリを作成します。たとえば、service.namespace.tkg-lab.vmware.com などです。
    • [保存 (Save)] をクリックします。

    DNS プロファイルの作成

  3. 左上隅にあるメニューをクリックし、[インフラストラクチャ (Infrastructure)] > [クラウド (Clouds)] を選択します。

  4. [Default-Cloud] の場合は、編集アイコンをクリックし、[IP アドレス管理プロファイル (IPAM Profile)] および [DNS プロファイル (DNS Profile)] の下で、上記で作成した IP アドレス管理および DNS プロファイルを選択します。

    クラウドへの IP アドレス管理プロファイルおよび DNS プロファイルの追加

  5. [データセンター (DataCenter)] タブを選択します。

    • [DHCP] を有効のままにします。これはネットワークごとに設定されます。
    • [IPv6]… および [スタティック ルート (Static Routes)]… チェックボックスはオフのままにします。
  6. [ネットワーク (Network)] セクションはまだ更新しないでください。

  7. クラウド構成を保存します。
  8. [インフラストラクチャ (Infrastructure)] > [Cloud リソース (Cloud Resources)] > [ネットワーク (Networks)] に移動し、VIP ネットワークとして使用しているネットワークの編集アイコンをクリックします。

    VIP ネットワークのネットワークの編集

  9. IP アドレス プール内の IP アドレス範囲の編集可能なリストが表示されます。固定 IP アドレス プールの追加 (Add Static IP Address Pool) を選択します。

    VIP ネットワーク アドレス プールの編集

  10. VIP ネットワークとして使用する固定 IP アドレスのプールのサブネット境界内の IP アドレス範囲を入力します(例:192.168.14.210-192.168.14.219)。[保存 (Save)] をクリックします。

    VIP ネットワークの IP アドレス プールの入力

(推奨)Avi Controller の設定:仮想サービス

管理クラスタで使用する SE グループに仮想サービスがない場合は、その SE グループに対して実行されているサービス エンジンがない可能性があります。したがって、管理クラスタの展開プロセスは、サービス エンジンが作成されるまで待機する必要があります。新しい仮想マシンを展開する必要があるため、サービス エンジンの作成には時間がかかります。ネットワークの状態が悪い場合、内部タイムアウトが発生し、管理クラスタの展開プロセスが正常に完了しなくなる可能性があります。

この問題を回避するには、Avi Controller ユーザー インターフェイスを使用してダミーの仮想サービスを作成し、管理クラスタを展開する前にサービス エンジンの作成をトリガすることをお勧めします。

SE グループに仮想サービスが割り当てられていることを確認するには、コントローラ ユーザー インターフェイスで [インフラストラクチャ (Infrastructure)] > [サービス エンジン グループ (Service Engine Group)] に移動し、SE グループの詳細を表示します。SE グループに仮想サービスが割り当てられていない場合は、ダミーの仮想サービスを作成します。

  1. コントローラ ユーザー インターフェイスで、[アプリケーション (Applications)] > [仮想サービス (Virtual Service)] に移動します。

  2. [仮想サービスの作成 (Create Virtual Service)] をクリックし、[基本設定 (Basic Setup)] を選択します。

  3. VIP を構成します。

    1. [自動割り当て (Auto-Allocate)] を選択します。
    2. IP アドレス管理プロファイル用に構成されている [VIP ネットワーク (VIP Network)][VIP サブネット (VIP Subnet)] を選択します(「Avi Controller の設定:IP アドレス管理と DNS」で構成済み)。
    3. [保存 (Save)] をクリックします。

管理クラスタが正常に展開された後に、ダミーの仮想サービスを削除できます。

ダミー サービスを作成する以上の、仮想サービスを作成する方法の詳細については、Avi Networks ドキュメントの「仮想サービスの作成」を参照してください。

Avi Controller の設定:カスタム証明書

デフォルトの NSX Advanced Load Balancer 証明書では、サブジェクト代替名 (SAN) にコントローラの IP アドレスまたは FQDN が含まれていませんが、Avi Controller の証明書で有効な SAN を定義する必要があります。したがって、管理クラスタを展開するときに提供するカスタム証明書を作成する必要があります。

  1. コントローラ ユーザー インターフェイスで、左上隅のメニューをクリックし、[テンプレート (Templates)] > [セキュリティ (Security)] > [SSL/TLS 証明書 (SSL/TLS Certificates)] を選択し、[作成 (Create)] をクリックして、[コントローラ証明書 (Controller Certificate)] を選択します。
  2. [名前 (Name)][共通名 (Common Name)] テキスト ボックスに同じ名前を入力します。
  3. [自己署名 (Self-Signed)] を選択します。
  4. [サブジェクトの代替名 (SAN) (Subject Alternate Name (SAN))] に、コントローラ仮想マシンの IP アドレスまたは FQDN、またはその両方を入力します。

    IP アドレスまたは FQDN のみを使用する場合は、VMware NSX Advanced Load Balancer の構成を行うときにコントローラ ホストに使用する値と一致するか、管理クラスタ構成ファイルの AVI_CONTROLLER 変数で指定する値と一致する必要があります。

  5. その他のフィールドは空のままにし、[保存 (Save)] をクリックします。
  6. 左上隅のメニューで [管理 (Administration)] > [設定 (Settings)] > [アクセス設定 (Access Settings)] を選択し、[システム アクセス設定 (System Access Settings)] の編集アイコンをクリックします。
  7. [SSL/TLS 証明書 (SSL/TLS Certificate)] 内のすべての証明書を削除します。
  8. [SSL/TLS 証明書 (SSL/TLS Certificate)] ドロップダウン メニューを使用して、上記で作成したカスタム証明書を追加します。
  9. 左上隅のメニューで、[テンプレート (Templates)] > [セキュリティ (Security)] > [SSL/TLS 証明書 (SSL/TLS Certificates)] を選択し、作成した証明書を選択して、エクスポート アイコンをクリックします。
  10. 証明書の内容をコピーします。

    管理クラスタを展開する場合は、証明書の内容が必要になります。

check-circle-line exclamation-circle-line close-line
Scroll to top icon