属性(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 |
|
|
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 |
|
|
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"
}
]
}