このセクションでは、NSX Advanced Load Balancer が OpenStack に対するアクセス権がない(Orchestrator がない)環境で NSX Advanced Load Balancer を OpenStack クラウドにインストールする場合の手順について説明します。

アクセス権なしモードでは、NSX Advanced Load Balancer が Orchestrator として OpenStack にアクセスすることはできません。サービス エンジンのプロパティを手動で追加、削除、または変更できるのは、管理者のみです。サーバとネットワークは、NSX Advanced Load Balancer によって自動検出できないため、手動で構成する必要があります。

アクセス権なし OpenStack Linux クラウドに NSX Advanced Load Balancer をインストールするには、次の手順を実行します。

前提条件

NSX Advanced Load Balancer を Orchestrator なしモードでインスタンス化する必要があります。

手順

  1. [インフラストラクチャ] > [クラウド] の順に移動し、アクセス権なしの OpenStack クラウドを作成します。
  2. IP アドレス管理を [IPv4 DHCP を使用] または [IPv6 DHCP を使用] として選択し、[DHCP] セクションの関連するチェックボックスをオンにします。


  3. [SE qcow2] イメージをダウンロードします。このイメージは Glance にプッシュされます。


  4. それぞれのテナントの下にある OpenStack インスタンス(この場合は「admin」)にログインし、[プロジェクト] > [コンピュート] > [イメージ] の順に移動します。[イメージの作成] をクリックします。[形式] ドロップダウン リストから [QCOW2] オプションを選択し、ダウンロードした SE QCOW2 のイメージ ファイルを指定します。


  5. se.qcow2 イメージを Glance にアップロードします。


    • これは、NSX Advanced Load Balancer ネットワークとして使用できる既存のネットワークがない場合にのみ必要です。

    • このネットワークは、SE がコントローラと通信するために使用します。そのため、新しいネットワークを作成するか、または既存のネットワークを使用して、そのネットワーク上に作成された仮想マシンがコントローラにアクセスできることを確認します。

  6. [プロジェクト] > [ネットワーク] > [ネットワーク] の順に移動して、avimgmt ネットワークを作成します。[ネットワーク] タブでネットワーク名を指定します。また、[サブネット] タブで、ネットワークに対して適切なサブネットを指定します。これにより、ネットワークに関連付けられたサブネットが作成されます。有効な [ネットワーク アドレス][ゲートウェイ IP アドレス] を指定します。[ゲートウェイ IP] が指定されていない場合、ネットワークの最初の値がデフォルトで割り当てられます。ゲートウェイ IP アドレスを無効にするには、[ゲートウェイの無効化] チェックボックスをオンにします。高度な設定の詳細は、[サブネットの詳細] タブで指定できます。
    • この手順は、新しい外部ネットワークを作成する必要がある場合にのみ実行してください。送信ネットワークとなり、フローティング IP アクセスを提供するネットワークを作成します。たとえば、[ネットワーク] タブで [ネットワーク名][provider1] と入力し、その他の詳細をそれぞれのタブで指定します。

    • この手順は、外部接続用に新しいルーターを作成する必要がある場合にのみ実行してください。ルーター名、管理状態、および外部ネットワークの詳細を指定して、ルーターを作成できます。

  7. ルーターを作成するには、[プロジェクト] > [ネットワーク] > [ルーター] の順に移動します。[Create Router] をクリックします。[]


  8. また、Web サーバを avimgmt ネットワークに展開して、テストを実行することもできます。たとえば、これは OS タイプのサーバにすることができ、ネットワーク トポロジーは次のようなものです。
  9. [プロジェクト] > [ネットワーク] > [セキュリティ グループ] の順に移動してセキュリティ グループを作成し、それをサービス エンジンに関連付けて、ICMP トラフィックと SSH および HTTP トラフィックが許可されるようにします。
  10. [プロジェクト] > [コンピュート] > [インスタンス] の順に移動して、NSX Advanced Load Balancer SE インスタンスを作成します。[インスタンスの起動] をクリックします。SE は、Heat テンプレートを使用して作成することもできます。詳細については、「アクセス権なしの OpenStack クラウドでの Heat テンプレートを使用したサービス エンジンの作成」を参照してください。
  11. [ソース] タブで、インスタンス化する必要がある SE 用の適切な qcow2 イメージを選択します。
  12. [フレーバー] タブで、SE に対応するフレーバーを選択します。この例では、これは [m1.small] になります。
  13. [ネットワーク] タブで、SE をインスタンス化するための [avimgmt] ネットワークを選択します。
  14. SE が生成されます。
  15. フローティング IP をインスタンスに関連付けます。この手順は、SE に直接アクセスできない場合にのみ実行してください。
  16. 別のインターフェイスを SE に接続します。たとえば、データ vNIC です。
  17. SE は、1 つの管理 vNIC と 1 つのデータ vNIC(後者はフローティング IP に関連付けられます)を使用して作成されます。


    • SE がコントローラに接続するため、各クラウドの NSX Advanced Load Balancer ユーザー インターフェイス(「VMware vCenter Server への NSX Advanced Load Balancer のインストール」セクションで説明)から SE のトークンをコピーし、SE の /opt/avi/scripts/init_system.py でスクリプトを実行します。スクリプトによって、コントローラの IP アドレスとトークンが要求されます(トークンは、単一の SE 用であり、60 分後に期限切れになります)。このスクリプトを実行するには、root アクセス権が必要です。

      root@Avi-Service-Engine:/opt/avi/scripts# ./init_system.py -h
      usage: init_system.py [-h] -c CONTROLLER [-d] [-i MGMT_IP] [-m MGMT_MASK]
      [-g GATEWAY] [-t TOKEN] [-r]
      optional arguments:
      -h, --help show this help message and exit
      -c CONTROLLER, --controller CONTROLLER
      Controller IP address.
      -d, --dhcp DHCP
      -i MGMT_IP, --mgmt-ip MGMT_IP
      IP address for Management Interface (eg.
      192.168.10.10)
      -m MGMT_MASK, --mgmt-mask MGMT_MASK
      Subnet mask for Management interface (eg. 24 or
      255.255.255.0)
      -g GATEWAY, --gateway GATEWAY
      Default gateway
      -t TOKEN, --token TOKEN
      Auth token generated in the Controller for this SE
      -r, --restart Restart SE for changes to take effect
      root@Avi-Service-Engine:/opt/avi/scripts# ./init_system.py -c 172.16.0.10 -d -i 172.16.0.7 -m 255.255.255.0 -g 172.16.0.1 -t c708a2cd-69e2-4057-923d-a09de94914f6 -r
      

      SE を再起動して、コントローラに接続します。

  18. ユーザー インターフェイスの [インフラストラクチャ] > [クラウド][クラサービス エンジン] リストで、各クラウドの下に NSX Advanced Load Balancer SE が表示されるまで待ちます。
  19. 各 SE を編集し、各データ ネットワークの DHCP を有効にします。


  20. 仮想サービスを作成し、データ ネットワークから IP アドレスを選択します。

    これはアクセス権なしのクラウドであるため、仮想サービス構成で「フローティング VIP」を構成することはできません。コントローラが OpenStack Nova と通信して、割り当てられたフローティング IP を仮想 IP アドレスに割り当てるようにするには、以下のように、CLI を使用して、Neutron ポートと VIP をバインドする必要があります。

    VIP アドレスにフローティング IP が必要な場合は、VIP アドレスを含むネットワークにポートを作成します。

    $> neutron port-create --fixed-ip subnet_id=subnet ID of the network in which VIP is placed,ip_address=VIP IP --name anyname network ID in which the VIP is being placed
    

    上記の構文の例を次に示します。

    $> neutron port-create --fixed-ip subnet_id=55daee6b-32b7-4f9c-945e-bcd2acb7272f,ip_address=172.16.0.231 --name test200vip f14eb427-4087-4dce-8477-479e10804ba1
    

    フローティング IP を作成し、該当の VIP アドレスに関連付けます。

    $> neutron floatingip-associate bf7c870e-6608-4512-b73d-faab5b18af04 ff67ae44-9874-43e6-a194-f336b9b1d7b5


  21. 上記で作成した仮想サービスに関連付けるサーバのプールを作成します。この場合、サーバは、手順 16 で Horizon ユーザー インターフェイスを使用して作成したサーバです。




    インフラストラクチャ マネージャに対するアクセス権がないため、select-servers-by-network 機能は使用できません。したがって、IP アドレスを手動で指定します。

  22. 次のように、仮想サービスが稼動している必要があります。


  23. 各サービス エンジンを調べ、VIP が関連付けられていることを確認します。


    • Neutron 拡張機能 allowed-address-pairs を使用すると、特定の CIDR を含むトラフィックをポートから出力できます。NSX Advanced Load Balancer は、この拡張機能を使用して VIP を SE データ ポートに割り当てることにより、それらのデータ ポートからの VIP トラフィックの出力を可能にします。

    • セキュリティ グループでパケットがドロップされないようにするため、allowed-address-pairs を SE ポートに追加します。ML2/OVS プラグインの場合は、各 SE ポートまたは特定の VIP IP アドレスに対して 0.0.0.0/0 が指定されている allowed-address-pairs を 1 回追加することができます。

      neutron port-update da0e1e9a-312d-41c2-b15f-f10ac344ef03 --allowed-address-pairs type=dict list=true ip_address=192.168.1.222/32
    • True の場合、allowed-address-pairs 拡張機能が使用されます。基盤となるネットワーク プラグインでこの機能がサポートされていない場合、他の手段で同様の効果を得ることができない限り、VIP トラフィックは機能しません。基盤となるネットワークでポートのセキュリティ/ファイアウォール/スプーフィング フィルタ ルールをオフにできる場合は、このオプションをオフにすることが可能です。

    • port-security が使用可能な場合は、SE のデータ vNIC の Neutron ポートで port-security を無効にできます。これは、上記の方法の代替手段の 1 つです。次のように、いずれかのインスタンス(サービス エンジン)に SSH 接続できることを確認します。



  24. オプション:NSX Advanced Load Balancer IP アドレス管理の使用が必要な場合は、IP アドレス管理ネットワークを作成し、IP アドレス管理テンプレートを作成してクラウドに関連付けることで同じ操作を行えます。したがって、VIP の IP アドレスの自動割り当てが実行されます。