负载均衡清单
属性(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通过系统标签(System Tags)定义了listener的额外属性:空闲连接超时,最大链接数,健康检查阀值,非健康监控阀值等。
LoadBalancerListener清单(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 | 后端端口号,数据分发到云主机的端口号 |
|
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"
}
]
}
协议(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中移除。