NSX Advanced Load Balancer REST API 提供了用于管理控制器集群的命令。本节介绍了使用 API 配置控制器集群的步骤。
获取 NSX Advanced Load Balancer 控制器 集群配置
要获取现有的集群配置,请发送如下 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", } ] }
在此示例中,集群仅包含一个成员。安装 NSX Advanced Load Balancer 后,在安装期间创建的控制器将作为主控制器放置在集群中。管理 IP 地址将配置为集群 IP 地址。
向集群中添加 NSX Advanced Load Balancer 控制器 节点
要创建一个 3 节点集群,请发送如下请求,以便向集群中再添加两个控制器节点。
对于 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 控制器 节点
要从集群中移除控制器节点,请使用如下请求。
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
(对于三节点集群)或 CLUSTER_UP_NO_HA
(对于单节点集群)时,集群即可正常运行。
此示例显示的是 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" } }