NSX Advanced Load Balancer REST API は、Controller クラスタを管理するためのコマンドを提供します。このセクションでは、API を使用して Controller クラスタを構成する手順について説明します。
NSX Advanced Load Balancer Controller クラスタ構成の取得
既存のクラスタ構成を取得するには、次のように API 要求を送信します。
GET /api/cluster
以下にサンプル出力を示します。
{ url: "https://10.10.5.27/api/cluster", uuid: "cluster-005056ac9e91", name: "cluster-0-1", tenant_ref: "https://10.10.5.27/api/tenant/admin", virtual_ip: { type: "V4", addr: "10.10.5.27" }, nodes: [ { ip: { type: "V4", addr: "10.10.5.16" }, vm_hostname: "node1.controller.local", vm_uuid: "005056ac9e91", name: "10.10.5.16", } ] }
この例では、クラスタに含まれるメンバーは 1 つのみです。NSX Advanced Load Balancer がインストールされると、インストール中に作成されたコントローラがプライマリ コントローラとしてクラスタに配置されます。管理 IP アドレスは、クラスタ IP アドレスとして構成されます。
クラスタへの NSX Advanced Load Balancer Controller ノードの追加
3 ノード クラスタを作成するには、次のような要求を送信して、さらに 2 台のコントローラ ノードをクラスタに追加します。
controller-ip
については、クラスタに割り当てる IP アドレスではなく、個々のコントローラ ノードの管理 IP アドレスを指定します。クラスタ IP は virtual_ip
で指定されます。
PUT /api/cluster
PUT データの例を次に示します。
{ uuid: "cluster-005056ac9e91", name: "cluster-0-1", virtual_ip: { type: "V4", addr: "10.10.5.27" }, nodes: [ { ip: { type: "V4", addr: "10.10.5.16" }, vm_hostname: "node1.controller.local", vm_uuid: "005056ac9e91", name: "10.10.5.16", }, { ip: { type: "V4", addr: "10.10.5.15" }, name: "10.10.5.15", }, { ip: { type: "V4", addr: "10.10.5.17" }, name: "10.10.5.17", } ] }
クラスタからの NSX Advanced Load Balancer Controller ノードの削除
クラスタからコントローラ ノードを削除するには、次のような要求を使用します。
PUT /api/cluster
PUT データの例を次に示します。
{ uuid: "cluster-005056ac9e91", name: "cluster-0-1", virtual_ip: { type: "V4", addr: "10.10.5.27" }, nodes: [ { ip: { type: "V4", addr: "10.10.5.16" }, name: "10.10.5.16", } ] }
クラスタのランタイム情報の取得
次の要求は、クラスタのランタイム情報を取得します。
cluster_state が CLUSTER_UP_HA_ACTIVE
(3 ノード クラスタの場合)または CLUSTER_UP_NO_HA
(1 ノード クラスタの場合)の場合、クラスタは動作可能です。
この例では CLUSTER_UP_HA_ACTIVE
を示しています。
GET /api/cluster/runtime
{ node_info: { uuid: "005056ac115e", mgmt_ip: "10.10.5.15", has_config: "True", ip: "node2.controller.local", vm_mor: "vm-54736", version: "16.1.1(9014) 2016-03-26 01:05:26 UTC", vm_uuid: "005056ac115e" }, node_states: [ { up_since: "2016-03-26 16:06:21", state: "CLUSTER_ACTIVE", role: "CLUSTER_LEADER", name: "10.10.5.15" }, { up_since: "2016-03-26 16:07:08", state: "CLUSTER_ACTIVE", role: "CLUSTER_FOLLOWER", name: "10.10.5.17" }, { up_since: "2016-03-26 16:07:31", state: "CLUSTER_ACTIVE", role: "CLUSTER_FOLLOWER", name: "10.10.5.16" } ], service_states: [], cluster_state: { up_since: "2016-03-26 16:06:21", progress: 100, state: "CLUSTER_UP_HA_ACTIVE" } }