负载均衡清单

属性(Properties)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 请参见资源属性 0.6
name 请参见资源属性 0.6
description 请参见资源属性 0.6
state 可用状态,always Enabled 0.6
vipUuid VIP UUID 0.6
listeners 请参见 listeners 0.6

示例

 {
            "description": "",
            "listeners": [
                {
                    "createDate": "Dec 1, 2017 8:24:44 PM",
                    "instancePort": 22,
                    "lastOpDate": "Dec 1, 2017 8:49:24 PM",
                    "loadBalancerPort": 22,
                    "loadBalancerUuid": "8a745a63e9f24e28af2d81e156d070bf",
                    "name": "lb2-listener",
                    "protocol": "tcp",
                    "uuid": "19a454f0c461492b8228b4ebe185d8a4",
                    "vmNicRefs": [
                        {
                            "createDate": "Dec 1, 2017 8:25:05 PM",
                            "id": 1,
                            "lastOpDate": "Dec 1, 2017 8:25:05 PM",
                            "listenerUuid": "19a454f0c461492b8228b4ebe185d8a4",
                            "status": "Active",
                            "vmNicUuid": "e20efc6858ea4988950882934262b6d7"
                        }
                    ]
                }
            ],
            "name": "lb2",
            "state": "Enabled",
            "uuid": "8a745a63e9f24e28af2d81e156d070bf",
            "vipUuid": "81806eb3a0034f529e80034e749b2a8a"
}

监听器(Listener)

  • Listener定义了负载均衡应该如何处理发往VIP的网络包,设定将发往VIP某个端口(loadBalancerPort)的数据包分发到不同的后端云主机的端口(instancePort)。 Listener还定义了一些属性,例如连接超时、健康检查阀值等。
  • 从用户的使用角度来说,Listener就是简单的定义了监听负载均衡IP的某个端口号,以及隐藏在私有网络上后端云主机用于接收的端口号。
  • 负载均衡可以定义很多listeners,每个listener都可以设定不同的端口号。此外,ZStack Cloud通过系统标签(System Tags)定义了listener的额外属性:空闲连接超时,最大链接数,健康检查阀值,非健康监控阀值等。

负载均衡监听器清单(LoadBalancerListener Inventory)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 请参见资源属性 0.6
name 请参见资源属性 0.6
description 请参见资源属性 0.6
loadBalancerUuid load balancer uuid 1 ~ 65336 0.6
loadBalancerPort 前端端口号,数据到达VIP时的端口号 1 ~ 65336 0.6
instancePort 后端端口号,数据分发到云主机的端口号
  • 对于TCP/UDP:0 - 65535
  • 对于ICMP: 请参见 ICMP type and code ,使用‘-1’来表示所有的类型
0.6
protocol 请参见 protocol
  • http
  • tcp
0.6
vmNicRefs 请参见 vmNicRefs 0.6
createDate 请参见资源属性 0.6
lastOpDate 请参见资源属性 0.6
示例
{
            "createDate": "Dec 1, 2017 8:24:44 PM",
            "instancePort": 22,
            "lastOpDate": "Dec 1, 2017 8:49:24 PM",
            "loadBalancerPort": 22,
            "loadBalancerUuid": "8a745a63e9f24e28af2d81e156d070bf",
            "name": "lb2-listener",
            "protocol": "tcp",
            "uuid": "19a454f0c461492b8228b4ebe185d8a4",
            "vmNicRefs": [
                {
                    "createDate": "Dec 1, 2017 8:25:05 PM",
                    "id": 1,
                    "lastOpDate": "Dec 1, 2017 8:25:05 PM",
                    "listenerUuid": "19a454f0c461492b8228b4ebe185d8a4",
                    "status": "Inactive",
                    "vmNicUuid": "e20efc6858ea4988950882934262b6d7"
                }
            ]
}

访问控制策略组清单(AccessControlList Inventory)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 请参见 资源属性 3.9.0
name 请参见 资源属性 3.9.0
description 请参见 资源属性 3.9.0
ipVersion IP地址版本 3.9.0
entries 条目 3.9.0
groupBy 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type 3.9.0
createDate 请参见 资源属性 3.9.0
lastOpDate 请参见 资源属性 3.9.0
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 3.9.0
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 3.9.0
示例
{
  "inventories": [
    {
      "uuid": "0abdbd20b8173ccf89f881309b5e40d0",
      "name": "acl-group"
    }
  ]
}

协议(protocol)

协议定义了负载均衡应该处理的数据包的类型。目前支持两种模式:tcp(网络第四层)和 http(网络第七层)。其中tcp是默认的模式,负载均衡会工作在纯粹的TCP模式,一个双向的链接会建立在客户端和服务器端之间。当设置协议为http时,从客户端到负载均衡,以及负载均衡到服务器端都会建立对应的链接。

后端云主机网卡

用户可以把一个新的云主机添加到负载均衡的队列中来。一旦一个网卡的UUID被添加,就会遵循负载均衡对应的算法在合适的时间被调度。 一块网卡可以添加到不同的负载均衡的不同的listener上。当然不论添加多少listener,该网卡所在的云主机应该配置有处理相应网络请求的能力。

负载均衡listener通过调用 nic reference 来添加对应的云主机:

vmNicRefs 清单(vmNicRefs inventory)

名字 描述 可选的 可选的参数值 起始支持版本
id vmNicRefs的uuid 0.6
listenerUuid listener uuid 0.6
vmNicUuid VM nic uuid 0.6
status 当网卡所在云主机为运行的时候,状态是active,否则是inactive
  • Active
  • Inactive
0.6
createDate 请参见资源属性 0.6

当一个网卡加入了负载均衡listener之后,停止云主机会把vmNicRefs 的状态改成 Inactive;启动云主机后会改变该状态为 Active; 删除云主机会把对应的NIC从listener中移除。

负载均衡器服务器组清单(LoadBalancerServerGroup Inventory)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 负载均衡器服务器组uuid 4.0.0
vmNicRefs 后端云主机网卡 4.0.0
serverIps 后端服务器IP 4.0.0
name 服务器组名字 4.0.0
loadBalancerUuid 负载均衡器uuid 4.0.0
description 描述 4.0.0
groupBy 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type 4.0.0
createDate 创建日期 4.0.0
lastOpDate 最后一次修改日期 4.0.0
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 4.0.0
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 4.0.0
timeout
示例
{
    "inventories": [
        {
            "createDate": "Dec 1, 2020 7:18:18 PM",
            "description": "default server group for load balancer shared2",
            "lastOpDate": "Dec 1, 2020 7:18:18 PM",
            "listenerServerGroupRefs": [],
            "loadBalancerUuid": "a20d5ce157f24494a98288022ce69ce0",
            "name": "default-server-group-shared2",
            "serverIps": [],
            "uuid": "5501293a2c2d4ea3855dae2051a5a29f",
            "vmNicRefs": []
        },
        {
            "createDate": "Dec 1, 2020 4:11:48 PM",
            "description": "default server group for load balancer slb1",
            "lastOpDate": "Dec 1, 2020 4:11:48 PM",
            "listenerServerGroupRefs": [],
            "loadBalancerUuid": "8d651d83ac424257abb66f766c793a7b",
            "name": "default-server-group-slb1",
            "serverIps": [],
            "uuid": "7ca8c9ad58774d698d833d79cbcdfb5c",
            "vmNicRefs": []
        },
        {
            "createDate": "Dec 4, 2020 3:55:17 PM",
            "description": "default server group for load balancer test-vip",
            "lastOpDate": "Dec 4, 2020 3:55:17 PM",
            "listenerServerGroupRefs": [],
            "loadBalancerUuid": "51e511c7ad5d49849509747a38a9c7dd",
            "name": "default-server-group-test-vip",
            "serverIps": [],
            "uuid": "89bc36bdf6674323844f4afe21ed5fb2",
            "vmNicRefs": []
        },
        {
            "createDate": "Dec 1, 2020 7:36:20 PM",
            "description": "default server group for load balancer flat",
            "lastOpDate": "Dec 1, 2020 7:36:20 PM",
            "listenerServerGroupRefs": [],
            "loadBalancerUuid": "b7597d60df48459fabee0809773ddf06",
            "name": "default-server-group-flat",
            "serverIps": [],
            "uuid": "b44ccf09cca74ab188d493177570865c",
            "vmNicRefs": []
        },
        {
            "createDate": "Dec 1, 2020 2:53:37 PM",
            "description": "default server group for load balancer Shared",
            "lastOpDate": "Dec 1, 2020 2:53:37 PM",
            "listenerServerGroupRefs": [
                {
                    "createDate": "Dec 2, 2020 11:20:00 AM",
                    "id": 1,
                    "lastOpDate": "Dec 2, 2020 11:20:00 AM",
                    "listenerUuid": "5631ff3bb6494fc98c16f3c135e2ebe9",
                    "serverGroupUuid": "b645b7e618ff482d8738d885426b2799"
                }
            ],
            "loadBalancerUuid": "6874bc033d4b41369a8c0216cb9b4b04",
            "name": "default-server-group-Shared",
            "serverIps": [],
            "uuid": "b645b7e618ff482d8738d885426b2799",
            "vmNicRefs": []
        }
    ],
    "success": true
}

listenerServerGroupRefs 清单(listenerServerGroupRefs inventory)

名字 描述 可选的 可选的参数值 起始支持版本
id 4.0.0
listenerUuid 4.0.0
serverGroupUuid 4.0.0
createDate 创建时间 4.0.0
lastOpDate 最后一次修改时间 4.0.0

性能独享型负载均衡器组清单(SlbGroup Inventory)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 资源的UUID,唯一标示该资源 4.0.0
name 资源名字 4.0.0
backendType 4.0.0
deployType 4.0.0
slbOfferingUuid 4.0.0
description 资源的详细描述 4.0.0
groupBy 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type 4.0.0
createDate 创建日期 4.0.0
lastOpDate 最后一次修改日期 4.0.0
slbVms 4.0.0
lbs 4.0.0
networks 4.0.0
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 4.0.0
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 4.0.0
示例
{
  "inventories": [
    {
      "name": "slb",
      "backendType": "vyos",
      "deployType": "direct",
      "description": "slb test"
    }
  ]
}

性能独享型负载均衡器规格清单(QuerySlbOffering Inventory)

名字 描述 可选的 可选的参数值 起始支持版本
managementNetworkUuid 资源的UUID,唯一标示该资源 4.0.0
zoneUuid 区域UUID 4.0.0
imageUuid 镜像UUID 4.0.0
uuid 资源的UUID,唯一标示该资源 4.0.0
name 资源名称 4.0.0
description 资源的详细描述 4.0.0
groupBy 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type 4.0.0
cpuNum 4.0.0
cpuSpeed 4.0.0
memorySize 4.0.0
type 4.0.0
allocatorStrategy 4.0.0
sortKey 4.0.0
createDate 创建日期 4.0.0
lastOpDate 最后一次修改日期 4.0.0
state 4.0.0
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 4.0.0
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 4.0.0
示例
{
  "inventories": [
    {
      "managementNetworkUuid": "fdd51745e9ee3a4cb5bca03cf021c22f",
      "zoneUuid": "305d0c8b5c5a3edd81a641911126c332",
      "imageUuid": "b2f980076c3e3e6f8e9f3d4fd22bb7fb",
      "name": "SLB-Offering",
      "cpuNum": 2.0,
      "cpuSpeed": 1.0,
      "memorySize": 1024.0,
      "type": "SLB"
    }
  ]
}