创建后端云服务器组
功能介绍
创建后端云服务器组。将多个后端云服务器添加到后端云服务器组中后,请求会在后端云服务器间按后端云服务器组的负载均衡算法和后端云服务器的权重来做请求分发。
接口约束
- 指定session-persistence参数时,只有当type是APP_COOKIE时,才可以设置cookie_name。
URI
POST /v2.0/lbaas/pools
请求消息
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
pool |
是 |
Object |
后端云服务器组对象。详见表2 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
tenant_id |
否 |
String |
后端云服务器组所属的项目 ID。 获取方法详见获取项目ID。 需要和token中的project_id一致。 支持的最大字符长度:255 |
project_id |
否 |
String |
此参数和tenant_id参数含义一样,均指后端云服务器组所属的项目 ID。 获取方法详见获取项目ID。 需要和token中的project_id一致。 |
name |
否 |
String |
后端云服务器组名称。 支持的最大字符长度:255 |
description |
否 |
String |
后端云服务器组的描述信息。 支持的最大字符长度:255 |
protocol |
是 |
String |
后端云服务器组的后端协议。 支持TCP、UDP和HTTP。 当指定listener_id创建后端云服务器组时,后端云服务器组的protocol和它关联的监听器的protocol有如下关系:
|
lb_algorithm |
是 |
String |
后端云服务器组的负载均衡算法。
取值范围:
当该字段的取值为SOURCE_IP时,后端云服务器组绑定的后端云服务器的weight字段无效。 |
admin_state_up |
否 |
Boolean |
后端云服务器组的管理状态。 该字段为预留字段,暂未启用。默认为true。 |
listener_id |
否 |
String |
后端云服务器组关联的监听器的ID。 listener_id和loadbalancer_id中至少指定一个。 |
loadbalancer_id |
否 |
String |
后端云服务器组关联的负载均衡器ID。 listener_id和loadbalancer_id中至少指定一个。 |
session_persistence |
否 |
Object |
会话持久性。详细参见表3。 取值为null时,表示会话保持关闭。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
会话保持的类型。
取值范围:
当后端云服务器组的protocol为TCP时,只按SOURCE_IP生效;当后端云服务器组的protocol为HTTP时,只按HTTP_COOKIE、APP_COOKIE生效。 |
cookie_name |
否 |
String |
cookie名称。 当会话保持类型是APP_COOKIE时,为必选字段,其它类型时不可指定。 |
persistence_timeout |
否 |
Integer |
会话保持的超时时间。 当type为APP_COOKIE时不生效。
取值范围:
|
响应消息
参数 |
参数类型 |
描述 |
---|---|---|
pool |
Object |
后端云服务器组对象。详见表5 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
后端云服务器组 ID。 |
tenant_id |
String |
后端云服务器组所属的项目 ID。 支持的最大字符长度:255 |
project_id |
String |
此参数和tenant_id参数含义一样,均指后端云服务器组所属的项目 ID。 |
name |
String |
后端云服务器组名称。 支持的最大字符长度:255 |
description |
String |
后端云服务器组的描述信息。 支持的最大字符长度:255 |
protocol |
String |
后端云服务器组的后端协议。 取值范围:TCP、UDP和HTTP。 当指定listener_id创建后端云服务器组时,后端云服务器组的protocol和它关联的监听器的protocol有如下关系:
|
lb_algorithm |
String |
后端云服务器组的负载均衡算法。
取值范围:
|
members |
Array |
后端云服务器组关联的后端云服务器ID的列表。 |
healthmonitor_id |
String |
后端云服务器组关联的健康检查的ID。 |
admin_state_up |
Boolean |
后端云服务器组的管理状态。 该字段为预留字段,暂未启用。取值范围:true/false。
|
listeners |
Array |
后端云服务器组关联的监听器ID列表。 |
loadbalancers |
Array |
后端云服务器组关联的负载均衡器ID列表。 |
session_persistence |
Object |
后端云服务器组的会话持久性。详见表9。 当开启会话保持后,在一定时间内,来自同一客户端的请求会发送到同一个后端云服务器上。 取值范围:当会话保持关闭时,该字段取值为null。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
关联的后端服务器id |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
关联的后端服务器组id |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
关联的负载均衡器id |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
会话保持的类型。
取值范围:
当后端云服务器组的protocol为TCP时,只按SOURCE_IP生效;当后端云服务器组的protocol为HTTP时,只按HTTP_COOKIE、APP_COOKIE生效。 |
cookie_name |
String |
cookie名称。 当会话保持类型是APP_COOKIE时,为必选字段,其它类型时不可指定。 |
persistence_timeout |
Integer |
会话保持的超时时间。 当type为APP_COOKIE时不生效。
|
请求示例
- 请求样例1 创建后端云服务器组,不开启会话保持
POST https://{Endpoint}/v2.0/lbaas/pools { "pool": { "lb_algorithm":"ROUND_ROBIN", "loadbalancer_id": "63ad9dfe-4750-479f-9630-ada43ccc8117", "protocol":"HTTP" } }
- 请求样例2 创建HTTP后端云服务器组,并开启APP_COOKIE类型的会话保持
POST https://{Endpoint}/v2.0/lbaas/pools { "pool": { "lb_algorithm": "ROUND_ROBIN", "listener_id": "370fb112-e920-486a-b051-1d0d30704dd3", "protocol": "HTTP", "session_persistence": { "cookie_name": "my_cookie", "type": "APP_COOKIE", "persistence_timeout": 1 }, "admin_state_up": true } }
- 请求样例3 创建HTTP后端云服务器组,并开启HTTP_COOKIE类型的会话保持
POST https://{Endpoint}/v2.0/lbaas/pools { "pool": { "lb_algorithm":"ROUND_ROBIN", "loadbalancer_id": "63ad9dfe-4750-479f-9630-ada43ccc8117", "protocol":"HTTP", "session_persistence":{ "type":"HTTP_COOKIE" } } }
响应示例
- 响应样例1
{ "pool": { "lb_algorithm": "ROUND_ROBIN", "protocol": "HTTP", "description": "", "admin_state_up": true, "loadbalancers": [ { "id": "63ad9dfe-4750-479f-9630-ada43ccc8117" } ], "tenant_id": "601240b9c5c94059b63d484c92cfe308", "project_id": "601240b9c5c94059b63d484c92cfe308", "session_persistence": null, "healthmonitor_id": null, "listeners": [], "members": [], "id": "4e496951-befb-47bf-9573-c1cd11825c07", "name": "" } }
- 响应样例2
{ "pool": { "lb_algorithm": "ROUND_ROBIN", "protocol": "HTTP", "description": "", "admin_state_up": true, "loadbalancers": [ { "id": "6b041b9e-976b-40ba-b075-375be6110b53" } ], "tenant_id": "145483a5107745e9b3d80f956713e6a3", "project_id": "145483a5107745e9b3d80f956713e6a3", "session_persistence": { "cookie_name": "my_cookie", "type": "APP_COOKIE", "persistence_timeout": 1 }, "healthmonitor_id": null, "listeners": [ { "id": "370fb112-e920-486a-b051-1d0d30704dd3" } ], "members": [ ], "id": "307f8968-9474-4d0c-8434-66be09dabcc1", "name": "" } }
- 响应样例3
{ "pool": { "lb_algorithm": "ROUND_ROBIN", "protocol": "HTTP", "description": "", "admin_state_up": true, "loadbalancers": [ { "id": "63ad9dfe-4750-479f-9630-ada43ccc8117" } ], "tenant_id": "601240b9c5c94059b63d484c92cfe308", "project_id": "601240b9c5c94059b63d484c92cfe308", "session_persistence": { "persistence_timeout": 1440, "cookie_name": null, "type": "HTTP_COOKIE" }, "healthmonitor_id": null, "listeners": [], "members": [], "id": "d46eab56-d76b-4cd3-8952-3c3c4cf113aa", "name": "" } }
返回码
请参见状态码。