コマンドラインを使用した LBaaS V2 の設定

LBaaS V2は、 Barbicanが管理する証明書によるSSLオフロード、証明書バンドル (中間認証局を含む)、SNIサポート、および通常の負荷分散機能をサポートしています。LBaaS V2 では、設定タスクを実行するためのコマンドラインインターフェイスのみをサポートしています。LBaaS V2 APIを実装するには、Neutron LBaaSコマンドを使用します。

SSL オフロード機能が必要な場合は、証明書とキーを Barbican サービスにアップロードしてください。手順1、2、3は、SSLオフロードがサポートされている場合に実行してください。それ以外の場合は、手順4から作業を続行して、ロードバランサー、リスナー、プール、メンバーを作成してください。

  1. 次のコマンドを使用して、証明書を Barbican サービスにアップロードします:

    barbican secret store --payload-content-type <content_type> --name <certificate_name> --payload<certificate_location>
    <!--NeedCopy-->
    

    barbican secret store --payload-content-type='text/plain' --name='hp_server_certificate' --payload=" hp_server/tmp/server_certificate"
    <!--NeedCopy-->
    

    証明書をアップロードする

  2. 以下のコマンドを使用して Barbican サービスにキーをアップロードします:

    barbican secret store --payload-content-type <content_type> --name <key_name> --payload<key_location>
    <!--NeedCopy-->
    

    barbican secret store -- payload-content-type='text/plain' --name='shp_server_key' --payload="hp-server/tmp/server_key"
    <!--NeedCopy-->
    

    キーをアップロード

    これらの 2 つの Barbican コマンドを実行して証明書とキーを読み込む場合、Secret href フィールドには場所または URL が表示されます。証明書とキーは、OpenStackがインストールされているシステムのこの場所に保存されます。ステップ 3 で Barbican サービスでコンテナーを作成するときに、これらのリンクをコピーしてパラメーターとして指定します。

  3. 次のコマンドを使用して、証明書とキーを保存するコンテナを Barbican サービスで作成します:

    コマンドで、以下のように置き換えます。 証明書をアップロードしたときに [Secret href] フィールドから取得した URL を指定します。同様に、 キーをアップロードしたときに Secret href フィールドから取得した URL を使用します。

    barbican secret container create --name<container_name> --type<container_type> --secret<certificate_url> --secret<key_url>
    <!--NeedCopy-->
    

    barbican secret container create --name='hp_container' --type='certificate' --secret="`certificate=http://localhost:9311/v1/secrets/e36a4a82-87e4-4873-9efe-55108875ef58 --secret="private_key=http://localhost:9311/v1/secrets/1b9e1a93-2aeb-4101-8002-e52acab987b0`"
    <!--NeedCopy-->
    

    コンテナの作成

    Container hrefの値をコピーします。手順6でリスナーを作成するときに、このリンクをコンテナに指定する必要があります。

  4. OpenStack で環境変数を設定します。これらの変数を設定すると、OpenStackクライアントコマンドがOpenStackサービスと通信できるようになります。

    export OS_PASSWORD-hp

    export OS_AUTH_URL=http://10.106.43.15:35357/v2.0/

    export OS_USERNAME=hp_user

    export OS_TENANT_NAME=hp

    export OS_IDENTITY_API_VERSION=2.0

    export BARBICAN_ENDPOINT=”http://10.106.43.15:9311/

    環境変数の設定

    ほかのコマンドを実行する前に、これらの変数をSSHセッションごとに設定します。OpenStackの環境変数について詳しくは、OpenStackの環境変数に関するドキュメントを参照してください。

  5. 次のコマンドを使用してロードバランサーを作成します。

    neutron lbaas-loadbalancer-create --name <loadbalancer-name>  <subnet-name> --provider <netscaler>
    <!--NeedCopy-->
    

    neutron lbaas-loadbalancer-create --name hp-lb-test hp-sub1 --provider netscaler
    <!--NeedCopy-->
    

    ロードバランサーの作成

    ロードバランサーが正常に作成されると、状態がPENDING_CREATEからACTIVEに変わります。

    ロードバランサーのステータス変更

  6. 次のコマンドを使用して、リスナーを作成します。

    neutron lbaas-listener-create --loadbalancer <loadbalancer-name> --name <listener-name> --protocol <protocol_type> --protocol-port <port_number> --default-tls-container-id<container_url>
    <!--NeedCopy-->
    

    neutron lbaas-listener-create --name hp-lb-test-list  --loadbalancer hp-lb-test --protocol TERMINATED_HTTPS --protocol-port 443 --default-tls-container-id `http://10.106.43.15:9311/v1/containers/d688676f-c256-4a0d-b84d-a310419dc0aa`
    <!--NeedCopy-->
    

    SSL オフロードサポートなしでリスナーを作成する場合は、コンテナーに場所を指定せずに次のコマンドを実行します。

    neutron lbaas-listener-create --loadbalancer <loadbalancer-name> --name <listener-name> --protocol <protocol_type> --protocol-port <port_number>

    SSL オフロードなしでリスナーを作成する

  7. 次のコマンドを使用してプールを作成します。

    neutron lbaas-pool-create --lb-algorithm <algorithm_type> --listener <listener-name> --protocol <protocol_type> --name <pool-name>
    <!--NeedCopy-->
    

    neutron lbaas-pool-create --lb-algorithm LEAST_CONNECTIONS --listener demolistener --protocol http --name demopool
    <!--NeedCopy-->
    

    リソースプールの作成

  8. 次のコマンドを使用してメンバーを作成します。

    neutron lbaas-member-create  --subnet <subnet-name> --address <ip-address of the web server> --protocol-port <port_number>  <pool-name>
    <!--NeedCopy-->
    

    neutron lbaas-member-create --subnet hp-sub1 --address 15.0.0.15 --protocol-port 80 hp-lb-test-pool
    <!--NeedCopy-->
    

    メンバを作成する

NetScaler ADM でのOpenStackアプリケーションの監視

テナントは、OpenStackの認証情報を使用してNetScaler Application Delivery Management(ADM)にログオンし、OpenStackから作成されたVIPとプールを任意のブラウザーから監視できます。URL は次の形式である必要があります。

http://<mas_ip>/<admin_ui>/mas/ent/html/cc_tenant_main.html

ここで mas-ip-addressは OpenStack に登録されているNetScaler ADM IPアドレスです。

  • OpenStack VIPはNetScaler ADMの仮想サーバーに対応しています。

  • OpenStackプールはNetScaler ADMのサービスグループに対応しています。

  • OpenStack プールのメンバーは、NetScaler ADM のサービスグループメンバーに対応しています。

コマンドラインを使用した LBaaS V2 の設定