更新时间:2022-08-15 GMT+08:00

更新后端云服务器组

功能介绍

更新后端云服务器组。

接口约束

如果与pool绑定的load balancer的provisioning status不是ACTIVE,则不能更新该pool。

URI

PUT /v2.0/lbaas/pools/{pool_id}

表1 参数说明

参数

是否必选

参数类型

描述

pool_id

String

后端云服务器组ID。

请求消息

表2 请求参数

参数

是否必选

参数类型

描述

pool

Object

后端云服务器组对象。详见表3

表3 pool字段说明

参数

是否必选

参数类型

描述

name

String

后端云服务器组名称。

支持的最大字符长度:255

description

String

后端云服务器组的描述信息。

支持的最大字符长度:255

lb_algorithm

String

后端云服务器组的负载均衡算法。

取值范围:
  • ROUND_ROBIN:加权轮询算法。
  • LEAST_CONNECTIONS:加权最少连接算法。
  • SOURCE_IP:源IP算法。

当该字段的取值为SOURCE_IP时,后端云服务器组绑定的后端云服务器的weight字段无效。

admin_state_up

Boolean

后端云服务器组的管理状态。

该字段为预留字段,暂未启用。默认为true。

session_persistence

Object

后端云服务器组的会话持久性。详见表10

当开启会话保持后,在一定时间内,来自同一客户端的请求会发送到同一个后端云服务器上。

取值范围:当会话保持关闭时,该字段取值为null。

表4 session_persistence字段说明

参数

是否必选

参数类型

描述

type

String

会话保持的类型。

取值范围:
  • SOURCE_IP:根据请求的源IP,将同一IP的请求发送到同一个后端云服务器上。
  • HTTP_COOKIE:客户端第一次发送请求时,负载均衡器自动生成cookie并将该cookie插入响应消息中,后续请求会发送到处理第一个请求的后端云服务器上。
  • APP_COOKIE:客户端第一次发送请求时,后端服务器生成cookie并将该cookie插入响应消息中,后续请求会发送到处理第一个请求的后端云服务器上。
  • 当后端云服务器组的protocol为TCP时,只按SOURCE_IP生效;当后端云服务器组的protocol为HTTP时,只按HTTP_COOKIE、APP_COOKIE生效。

cookie_name

String

cookie名称。

只有当会话保持的类型是APP_COOKIE时可以指定,且当会话保持的类型是APP_COOKIE时,为必选字段。

persistence_timeout

Integer

会话保持的超时时间。

当type为APP_COOKIE时不生效。

取值范围:
  • [1,60](分钟):当后端云服务器的protocol为TCP、UDP时。
  • [1,1440](分钟):当后端云服务器的protocol为HTTP、HTTPS时。

响应消息

表5 响应参数

参数

参数类型

描述

pool

Object

后端云服务器组对象。详见表6

表6 pools字段说明

参数

参数类型

描述

id

String

后端云服务器组 ID。

tenant_id

String

后端云服务器组所属的项目 ID。

支持的最大字符长度:255

name

String

后端云服务器组名称。

支持的最大字符长度:255

description

String

后端云服务器组的描述信息。

支持的最大字符长度:255

protocol

String

后端云服务器组的后端协议。

取值范围:TCP、UDP和HTTP。

当指定listener_id创建后端云服务器组时,后端云服务器组的protocol和它关联的监听器的protocol有如下关系:

  • 监听器的protocol为UDP时,后端云服务器组的protocol必须为UDP;
  • 监听器的protocol为TCP时,后端云服务器组的protocol必须为TCP;
  • 监听器的protocol为HTTP或TERMINATED_HTTPS时,后端云服务器组的protocol必须为HTTP。

lb_algorithm

String

后端云服务器组的负载均衡算法。

取值范围:
  • ROUND_ROBIN:加权轮询算法。
  • LEAST_CONNECTIONS:加权最少连接算法。
  • SOURCE_IP:源IP算法。当该字段的取值为SOURCE_IP时,后端云服务器组绑定的后端云服务器的weight字段无效。

members

Array

后端云服务器组关联的后端云服务器ID的列表。

healthmonitor_id

String

后端云服务器组关联的健康检查的ID。

admin_state_up

Boolean

后端云服务器组的管理状态。

该字段为预留字段,暂未启用。取值范围:true/false。

  • true表示开启。
  • false表示关闭。

listeners

Array

后端云服务器组关联的监听器ID列表。

loadbalancers

Array

后端云服务器组关联的负载均衡器ID列表。

session_persistence

Object

后端云服务器组的会话持久性。详见表9

当开启会话保持后,在一定时间内,来自同一客户端的请求会发送到同一个后端云服务器上。

取值范围:当会话保持关闭时,该字段取值为null。

表7 members字段说明

参数

参数类型

描述

id

String

关联的后端服务器id

表8 listeners字段说明

参数

参数类型

描述

id

String

关联的后端服务器组id

表9 loadbalancers字段说明

参数

参数类型

描述

id

String

关联的负载均衡器id

表10 session_persistence字段说明

参数

参数类型

描述

type

String

会话保持的类型。

取值范围:
  • SOURCE_IP:根据请求的源IP,将同一IP的请求发送到同一个后端云服务器上。
  • HTTP_COOKIE:客户端第一次发送请求时,负载均衡器自动生成cookie并将该cookie插入响应消息中,后续请求会发送到处理第一个请求的后端云服务器上。
  • APP_COOKIE:客户端第一次发送请求时,后端服务器生成cookie并将该cookie插入响应消息中,后续请求会发送到处理第一个请求的后端云服务器上。

当后端云服务器组的protocol为TCP时,只按SOURCE_IP生效;当后端云服务器组的protocol为HTTP时,只按HTTP_COOKIE、APP_COOKIE生效。

cookie_name

String

cookie名称。

当会话保持类型是APP_COOKIE时,为必选字段,其它类型时不可指定。

persistence_timeout

Integer

会话保持的超时时间。

当type为APP_COOKIE时不生效。

  • 取值范围:
    • [1,60](分钟):当后端云服务器组的protocol为TCP、UDP时。
    • [1,1440](分钟):当后端云服务器组的protocol为HTTP、HTTPS时。

请求示例

  • 请求样例1 更新后端云服务器组
    PUT https://{Endpoint}/v2.0/lbaas/pools/12ff63af-4127-4074-a251-bcb2ecc53ebe 
    
    { 
        "pool": { 
            "name": "pool2", 
            "description": "pool two", 
            "lb_algorithm": "LEAST_CONNECTIONS" 
        } 
    }
  • 请求样例2 更新后端云服务器组,关闭会话保持
    PUT https://{Endpoint}/v2.0/lbaas/pools/d46eab56-d76b-4cd3-8952-3c3c4cf113aa
    
    {
        "pool": {
            "session_persistence":null
        }
    }

响应示例

  • 响应样例1
    {
        "pool": {
            "lb_algorithm": "LEAST_CONNECTIONS",
            "protocol": "HTTP",
            "description": "pool two",
            "loadbalancers": [
                {
                    "id": "63ad9dfe-4750-479f-9630-ada43ccc8117"
                }
            ],
            "admin_state_up": true,
            "tenant_id": "1a3e005cf9ce40308c900bcb08e5320c",
            "session_persistence": {
                "cookie_name": null,
                "type": "HTTP_COOKIE",
                "persistence_timeout": 1
            },
            "healthmonitor_id": null,
            "listeners": [
                {
                    "id": "39de4d56-d663-46e5-85a1-5b9d5fa17829"
                }
            ],
            "members": [],
            "id": "12ff63af-4127-4074-a251-bcb2ecc53ebe",
            "name": "pool2"
        }
    }
  • 响应样例2
    {
        "pool": {
            "lb_algorithm": "ROUND_ROBIN",
            "protocol": "HTTP",
            "description": "",
            "admin_state_up": true,
            "loadbalancers": [
                {
                    "id": "63ad9dfe-4750-479f-9630-ada43ccc8117"
                }
            ],
            "tenant_id": "601240b9c5c94059b63d484c92cfe308",
            "session_persistence": null,
            "healthmonitor_id": null,
            "listeners": [],
            "members": [],
            "id": "d46eab56-d76b-4cd3-8952-3c3c4cf113aa",
            "name": ""
        }
    }

返回码

请参见状态码