Loading
close

资源池

time 更新时间:2023-02-01 15:30:01

资源池

列举资源池

功能介绍

查询资源池列表。

URI

GET /v2.0/lbaas/pools

请求消息

参数 参数类型 是否必选 描述
fields string 你想让服务器返回的字段。如果没有指定字段的查询参数,API会返回所有资源池的属性。通过使用fields参数,API只返回请求的属性集。可以指定多个字段的参数。例如,如果您指定fields=id&fields=name的请求URL,那么只有idname属性将返回。
project_id string 指定项目ID进行查询。

响应消息

参数 参数类型 描述
admin_state_up boolean 资源池的管理状态,true表示启用,false表示停用。
alpn_protocols array ALPN协议列表。取值为:http/1.0、http/1.1或h2。
此字段暂不支持产品化配置,请勿使用。
ca_tls_container_ref string 资源池使用的CA证书ID。对证书管理服务中秘钥的引用。
此字段暂不支持产品化配置,请勿使用。
created_at string 资源池创建的时间。
crl_container_ref string 资源池使用的CA证书吊销列表ID。证书管理服务中秘钥的URI。
此字段暂不支持产品化配置,请勿使用。
description string 资源池的描述信息。
healthmonitor_id uuid 资源池关联的健康检查器ID。
id uuid 资源池的ID。
lb_algorithm string 资源池的负载均衡算法。取值为:
1、ROUND_ROBIN:加权轮询算法。
2、LEAST_CONNECTIONS:加权最少连接算法。
3、SOURCE_IP:源IP算法。
listeners array 资源池关联的监听器ID列表。
loadbalancers array 资源池关联的负载均衡器ID列表。
members array 资源池关联的成员ID列表。
name string 资源池的名称。
operating_status string 资源池的运行状态。
project_id string 资源池所属的项目ID。
protocol string 资源池的协议。取值为:TCP、UDP、HTTP、PROXY 。
provisioning_status string 资源池的配置状态。
session_persistence object 资源池的会话持久化对象。
tags list 标签。
tls_ciphers string OpenSSL格式的密码列表(以冒号分隔)。
tls_container_ref string 关联的包含PKCS12格式证书/密钥的证书服务机密。用于对后端服务器成员进行TLS客户端身份验证。
tls_enabled boolean 是否启用TLS加密。默认为false。
tls_versions array TLS协议的版本列表,取值为:SSLv3、TLSv1、TLSv1.1、TLSv1.2、TLSv1.3。。
updated_at string 资源池最后一次更新的时间。

请求示例

curl -X GET -H "X-Auth-Token: <token>" http://octavia-api.octavia.svc.cluster.local:9876/v2.0/lbaas/pools

正常响应示例

{
  "pools": [
    {
      "id": "b2707975-5689-476b-b4d0-4935b2b03216",
      "name": "pool_2",
      "description": "",
      "provisioning_status": "ACTIVE",
      "operating_status": "ONLINE",
      "admin_state_up": true,
      "protocol": "HTTP",
      "lb_algorithm": "ROUND_ROBIN",
      "session_persistence": null,
      "project_id": "58f3846f80724e33a4b45bb4349a177b",
      "loadbalancers": [
        {
          "id": "2e818efd-eeaf-4632-ab48-1529feb30959"
        }
      ],
      "listeners": [
        {
          "id": "74224f2a-6e48-4b42-b2a9-839b0d11f020"
        }
      ],
      "l7policies": [
        {
          "id": "b3d55c20-cf58-41cf-a02a-bb99990a0b9d"
        }
      ],
      "created_at": "2022-04-22T03:30:24",
      "updated_at": "2022-04-22T06:09:51",
      "members": [
        {
          "id": "068a9f4e-307e-4e82-bdf3-0fc28cd9f1b9"
        }
      ],
      "tags": [],
      "tls_container_ref": null,
      "ca_tls_container_ref": null,
      "crl_container_ref": null,
      "tls_enabled": false,
      "tls_ciphers": null,
      "tls_versions": null,
      "alpn_protocols": null,
      "tenant_id": "58f3846f80724e33a4b45bb4349a177b"
    },
    {
      "id": "f6ac4a11-ccff-4ee4-a94d-50d80d270603",
      "name": "demo-pool",
      "description": "",
      "provisioning_status": "ACTIVE",
      "operating_status": "ONLINE",
      "admin_state_up": true,
      "protocol": "HTTP",
      "lb_algorithm": "ROUND_ROBIN",
      "session_persistence": null,
      "project_id": "250a86f0dcc9467285fa8af54457e885",
      "loadbalancers": [
        {
          "id": "0b7c5ec8-1f96-49d3-b2b1-7f68ba3aa03f"
        }
      ],
      "listeners": [
        {
          "id": "75944c16-b8ee-4d6c-9502-4dba6e32e8cc"
        }
      ],
      "l7policies": [],
      "created_at": "2022-04-25T06:28:44",
      "updated_at": "2022-04-25T06:28:56",
      "healthmonitor_id": "2835236d-d006-410b-a75c-e88e9bdb73f6",
      "members": [],
      "tags": [],
      "tls_container_ref": null,
      "ca_tls_container_ref": null,
      "crl_container_ref": null,
      "tls_enabled": false,
      "tls_ciphers": null,
      "tls_versions": null,
      "alpn_protocols": null,
      "tenant_id": "250a86f0dcc9467285fa8af54457e885"
    }
  ],
  "pools_links": []
}

正常响应代码

200

错误码

400,401,500

创建资源池

功能介绍

创建一个资源池。

URI

POST /v2.0/lbaas/pools

请求消息

参数 参数类型 是否必选 描述
admin_state_up boolean 资源池的管理状态,true表示启用,false表示停用。
alpn_protocols array ALPN协议列表。取值为:http/1.0、http/1.1或h2。
此字段暂不支持产品化配置,请勿使用。
ca_tls_container_ref string 资源池使用的CA证书ID。对证书管理服务中秘钥的引用。
此字段暂不支持产品化配置,请勿使用。
crl_container_ref string 资源池使用的CA证书吊销列表ID。证书管理服务中秘钥的URI。
此字段暂不支持产品化配置,请勿使用。
description string 资源池的描述信息。
lb_algorithm string 资源池的负载均衡算法。取值为:
1、ROUND_ROBIN:加权轮询算法。
2、LEAST_CONNECTIONS:加权最少连接算法。
3、SOURCE_IP:源IP算法。
listener_id uuid 资源池所属监听器的ID。创建资源池时须指定listener或loadbalancer。
loadbalancer_id uuid 资源池所属负载均衡器的ID。创建资源池时须指定listener或loadbalancer。
name string 资源池的名称。
project_id string 资源池所属的项目ID。
protocol string 资源池的协议。取值为:TCP、UDP、HTTP、PROXY 。
session_persistence object 资源池的会话持久化对象。
tags list 标签。
tls_enabled boolean 是否启用TLS加密。默认为false。
tls_ciphers string OpenSSL格式的密码列表(以冒号分隔)。
tls_container_ref string 关联的包含PKCS12格式证书/密钥的证书服务机密。用于对后端服务器成员进行TLS客户端身份验证。
tls_versions array TLS协议的版本列表,取值为:SSLv3、TLSv1、TLSv1.1、TLSv1.2、TLSv1.3。。

Octavia 目前支持三种会话持久化方法:

方法 描述
APP_COOKIE 使用指定的cookie_name向同一个成员发送将来的请求。
HTTP_COOKIE 负载均衡器将生成一个插入响应的cookie。此cookie将用于向同一成员发送将来的请求。
SOURCE_IP 请求上的源IP地址将被散列以将之后的请求发送给同一成员。
参数 参数类型 是否必选 描述
type string 资源池的会话持久话类型。取值为:APP_COOKIE、HTTP_COOKIE、SOURCE_IP。
cookie_name string 用于会话持久话的cookie的名称。只适用于需要的APP_COOKIE会话持久化类型。
persistence_timeout integer 超时时间(以秒为单位),在此之后,UDP流可能会被重新调度到不同的成员。目前仅适用于具有SOURCE_IP会话持久话的UDP资源池。默认为360。
persistence_granularity string 用于确定UDP会话持久话的网络掩码。目前仅对具有SOURCE_IP会话持久话的UDP池有效。默认网络掩码为255.255.255.255,表示每个客户端的完整 IP。

响应消息

参数 参数类型 描述
admin_state_up boolean 资源池的管理状态,true表示启用,false表示停用。
alpn_protocols array ALPN协议列表。取值为:http/1.0、http/1.1或h2。
此字段暂不支持产品化配置,请勿使用。
ca_tls_container_ref string 资源池使用的CA证书ID。对证书管理服务中秘钥的引用。
此字段暂不支持产品化配置,请勿使用。
created_at string 资源池创建的时间。
crl_container_ref string 资源池使用的CA证书吊销列表ID。证书管理服务中秘钥的URI。
此字段暂不支持产品化配置,请勿使用。
description string 资源池的描述信息。
healthmonitor_id uuid 资源池关联的健康检查器ID。
id uuid 资源池的ID。
lb_algorithm string 资源池的负载均衡算法。取值为:
1、ROUND_ROBIN:加权轮询算法。
2、LEAST_CONNECTIONS:加权最少连接算法。
3、SOURCE_IP:源IP算法。
listeners array 资源池关联的监听器ID列表。
loadbalancers array 资源池关联的负载均衡器ID列表。
members array 资源池关联的成员ID列表。
name string 资源池的名称。
operating_status string 资源池的运行状态。
project_id string 资源池所属的项目ID。
protocol string 资源池的协议。取值为:TCP、UDP、HTTP、PROXY 。
provisioning_status string 资源池的配置状态。
session_persistence object 资源池的会话持久化对象。
tags list 标签。
tls_enabled boolean 是否启用TLS加密。默认为false。
tls_ciphers string OpenSSL格式的密码列表(以冒号分隔)。
tls_container_ref string 关联的包含PKCS12格式证书/密钥的证书服务机密。用于对后端服务器成员进行TLS客户端身份验证。
tls_versions array TLS协议的版本列表,取值为:SSLv3、TLSv1、TLSv1.1、TLSv1.2、TLSv1.3。。
updated_at string 资源池最后一次更新的时间。

请求示例

curl -X POST -H "X-Auth-Token: <token>" -d '{"pool": {"name": "demo-pool", "description": "demo pool create test.", "protocol": "HTTP", "loadbalancer_id": "0b7c5ec8-1f96-49d3-b2b1-7f68ba3aa03f", "lb_algorithm": "ROUND_ROBIN", "admin_state_up": true}}' http://octavia-api.octavia.svc.cluster.local:9876/v2.0/lbaas/pools
{
  "pool": {
    "name": "demo-pool",
    "description": "demo pool create test.",
    "protocol": "HTTP",
    "loadbalancer_id": "0b7c5ec8-1f96-49d3-b2b1-7f68ba3aa03f",
    "lb_algorithm": "ROUND_ROBIN",
    "admin_state_up": true
  }
}

正常响应示例

{
  "pool": {
    "id": "a0a1d410-dc82-4640-a8bd-08f7206fa45f",
    "name": "demo-pool",
    "description": "demo pool create test.",
    "provisioning_status": "PENDING_CREATE",
    "operating_status": "OFFLINE",
    "admin_state_up": true,
    "protocol": "HTTP",
    "lb_algorithm": "ROUND_ROBIN",
    "session_persistence": null,
    "project_id": "250a86f0dcc9467285fa8af54457e885",
    "loadbalancers": [
      {
        "id": "0b7c5ec8-1f96-49d3-b2b1-7f68ba3aa03f"
      }
    ],
    "listeners": [],
    "l7policies": [],
    "created_at": "2022-04-25T06:49:40",
    "updated_at": null,
    "members": [],
    "tags": [],
    "tls_container_ref": null,
    "ca_tls_container_ref": null,
    "crl_container_ref": null,
    "tls_enabled": false,
    "tls_ciphers": null,
    "tls_versions": null,
    "alpn_protocols": null,
    "tenant_id": "250a86f0dcc9467285fa8af54457e885"
  }
}

正常响应代码

201

错误码

400,401,403,404,409,500,503

查询资源池详情

功能介绍

查询资源池的详细信息。

URI

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

参数 是否必选 描述
pool_id 待查询的资源池的ID。

请求消息

参数 参数类型 是否必选 描述
fields string 你想让服务器返回的字段。如果没有指定字段的查询参数,API会返回所有资源池的属性。通过使用fields参数,API只返回请求的属性集。可以指定多个字段的参数。例如,如果您指定fields=id&fields=name的请求URL,那么只有idname属性将返回。

响应消息

参数 参数类型 描述
admin_state_up boolean 资源池的管理状态,true表示启用,false表示停用。
alpn_protocols array ALPN协议列表。取值为:http/1.0、http/1.1或h2。
此字段暂不支持产品化配置,请勿使用。
ca_tls_container_ref string 资源池使用的CA证书ID。对证书管理服务中秘钥的引用。
此字段暂不支持产品化配置,请勿使用。
created_at string 资源池创建的时间。
crl_container_ref string 资源池使用的CA证书吊销列表ID。证书管理服务中秘钥的URI。
此字段暂不支持产品化配置,请勿使用。
description string 资源池的描述信息。
healthmonitor_id uuid 资源池关联的健康检查器ID。
id uuid 资源池的ID。
lb_algorithm string 资源池的负载均衡算法。取值为:
1、ROUND_ROBIN:加权轮询算法。
2、LEAST_CONNECTIONS:加权最少连接算法。
3、SOURCE_IP:源IP算法。
listeners array 资源池关联的监听器ID列表。
loadbalancers array 资源池关联的负载均衡器ID列表。
members array 资源池关联的成员ID列表。
name string 资源池的名称。
operating_status string 资源池的运行状态。
project_id string 资源池所属的项目ID。
protocol string 资源池的协议。取值为:TCP、UDP、HTTP、PROXY 。
provisioning_status string 资源池的配置状态。
session_persistence object 资源池的会话持久化对象。
tags list 标签。
tls_enabled boolean 是否启用TLS加密。默认为false。
tls_ciphers string OpenSSL格式的密码列表(以冒号分隔)。
tls_container_ref string 关联的包含PKCS12格式证书/密钥的证书服务机密。用于对后端服务器成员进行TLS客户端身份验证。
tls_versions array TLS协议的版本列表,取值为:SSLv3、TLSv1、TLSv1.1、TLSv1.2、TLSv1.3。。
updated_at string 资源池最后一次更新的时间。

请求示例

curl -X GET -H "X-Auth-Token: <token>" http://octavia-api.octavia.svc.cluster.local:9876/v2.0/lbaas/pools/fa549f85-fa3a-4280-bb2a-00b09285e6b3

正常响应示例

{
  "pool": {
    "id": "fa549f85-fa3a-4280-bb2a-00b09285e6b3",
    "name": "demo-pool",
    "description": "",
    "provisioning_status": "PENDING_UPDATE",
    "operating_status": "ONLINE",
    "admin_state_up": true,
    "protocol": "HTTP",
    "lb_algorithm": "ROUND_ROBIN",
    "session_persistence": null,
    "project_id": "250a86f0dcc9467285fa8af54457e885",
    "loadbalancers": [
      {
        "id": "17e9442b-4d7e-481e-9bf6-56495ff01c6d"
      }
    ],
    "listeners": [
      {
        "id": "e05cde88-4580-4e2b-a94a-bef5b64889f3"
      }
    ],
    "l7policies": [],
    "created_at": "2022-04-25T07:41:56",
    "updated_at": "2022-04-25T07:42:44",
    "healthmonitor_id": "8551f03a-3777-4f64-932f-daaddc0147b5",
    "members": [
      {
        "id": "2f97853a-e149-4a03-b057-2d91d8702197"
      }
    ],
    "tags": [],
    "tls_container_ref": null,
    "ca_tls_container_ref": null,
    "crl_container_ref": null,
    "tls_enabled": false,
    "tls_ciphers": null,
    "tls_versions": null,
    "alpn_protocols": null,
    "tenant_id": "250a86f0dcc9467285fa8af54457e885"
  }
}

正常响应代码

200

错误码

401,403,404,500

更新资源池

功能介绍

更新一个资源池。

接口约束

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

URI

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

参数 是否必选 描述
pool_id 待更新的资源池ID。

请求消息

参数 参数类型 是否必选 描述
admin_state_up boolean 资源池的管理状态,true表示启用,false表示停用。
alpn_protocols array ALPN协议列表。取值为:http/1.0、http/1.1或h2。
此字段暂不支持产品化配置,请勿使用。
ca_tls_container_ref string 资源池使用的CA证书ID。对证书管理服务中秘钥的引用。
此字段暂不支持产品化配置,请勿使用。
crl_container_ref string 资源池使用的CA证书吊销列表ID。证书管理服务中秘钥的URI。
此字段暂不支持产品化配置,请勿使用。
description string 资源池的描述信息。
lb_algorithm string 资源池的负载均衡算法。取值为:
1、ROUND_ROBIN:加权轮询算法。
2、LEAST_CONNECTIONS:加权最少连接算法。
3、SOURCE_IP:源IP算法。
name string 资源池的名称。
pool_id uuid 资源池的ID。
session_persistence object 资源池的会话持久化对象。
tags list 标签。
tls_enabled boolean 是否启用TLS加密。默认为false。
tls_ciphers string OpenSSL格式的密码列表(以冒号分隔)。
tls_container_ref string 关联的包含PKCS12格式证书/密钥的证书服务机密。用于对后端服务器成员进行TLS客户端身份验证。
tls_versions array TLS协议的版本列表,取值为:SSLv3、TLSv1、TLSv1.1、TLSv1.2、TLSv1.3。。

响应消息

参数 参数类型 描述
admin_state_up boolean 资源池的管理状态,true表示启用,false表示停用。
alpn_protocols array ALPN协议列表。取值为:http/1.0、http/1.1或h2。
此字段暂不支持产品化配置,请勿使用。
ca_tls_container_ref string 资源池使用的CA证书ID。对证书管理服务中秘钥的引用。
此字段暂不支持产品化配置,请勿使用。
created_at string 资源池创建的时间。
crl_container_ref string 资源池使用的CA证书吊销列表ID。证书管理服务中秘钥的URI。
此字段暂不支持产品化配置,请勿使用。
description string 资源池的描述信息。
healthmonitor_id uuid 资源池关联的健康检查器ID。
id uuid 资源池的ID。
lb_algorithm string 资源池的负载均衡算法。取值为:
1、ROUND_ROBIN:加权轮询算法。
2、LEAST_CONNECTIONS:加权最少连接算法。
3、SOURCE_IP:源IP算法。
listeners array 资源池关联的监听器ID列表。
loadbalancers array 资源池关联的负载均衡器ID列表。
members array 资源池关联的成员ID列表。
name string 资源池的名称。
operating_status string 资源池的运行状态。
project_id string 资源池所属的项目ID。
protocol string 资源池的协议。取值为:TCP、UDP、HTTP、PROXY 。
provisioning_status string 资源池的配置状态。
session_persistence object 资源池的会话持久化对象。
tags list 标签。
tls_enabled boolean 是否启用TLS加密。默认为false。
tls_ciphers string OpenSSL格式的密码列表(以冒号分隔)。
tls_container_ref string 关联的包含PKCS12格式证书/密钥的证书服务机密。用于对后端服务器成员进行TLS客户端身份验证。
tls_versions array TLS协议的版本列表,取值为:SSLv3、TLSv1、TLSv1.1、TLSv1.2、TLSv1.3。。
updated_at string 资源池最后一次更新的时间。

请求示例

curl -X PUT -H "X-Auth-Token: <token>" -d '{"pool": {"name": "demo-pool-2", "description": "update the demo pool", "lb_algorithm": "SOURCE_IP"}}' http://octavia-api.octavia.svc.cluster.local:9876/v2.0/lbaas/pools/fa549f85-fa3a-4280-bb2a-00b09285e6b3
{
  "pool": {
    "name": "demo-pool-2",
    "description": "update the demo pool",
    "lb_algorithm": "SOURCE_IP"
  }
}

正常响应示例

{
  "pool": {
    "id": "fa549f85-fa3a-4280-bb2a-00b09285e6b3",
    "name": "demo-pool-2",
    "description": "update the demo pool",
    "provisioning_status": "PENDING_UPDATE",
    "operating_status": "ERROR",
    "admin_state_up": true,
    "protocol": "HTTP",
    "lb_algorithm": "SOURCE_IP",
    "session_persistence": null,
    "project_id": "250a86f0dcc9467285fa8af54457e885",
    "loadbalancers": [
      {
        "id": "17e9442b-4d7e-481e-9bf6-56495ff01c6d"
      }
    ],
    "listeners": [
      {
        "id": "e05cde88-4580-4e2b-a94a-bef5b64889f3"
      }
    ],
    "l7policies": [],
    "created_at": "2022-04-25T07:41:56",
    "updated_at": "2022-04-25T07:45:49",
    "healthmonitor_id": "8551f03a-3777-4f64-932f-daaddc0147b5",
    "members": [
      {
        "id": "2f97853a-e149-4a03-b057-2d91d8702197"
      }
    ],
    "tags": [],
    "tls_container_ref": null,
    "ca_tls_container_ref": null,
    "crl_container_ref": null,
    "tls_enabled": false,
    "tls_ciphers": null,
    "tls_versions": null,
    "alpn_protocols": null,
    "tenant_id": "250a86f0dcc9467285fa8af54457e885"
  }
}

正常响应代码

202

错误码

400,401,403,404,409,500

删除资源池

功能介绍

删除一个资源池。

前提条件

接口约束

  1. 如果与pool绑定的load balancer的provisioning status不是ACTIVE,则不能删除该pool。

  2. 如果此pool被l7policy关联,则不能删除该pool。

URI

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

参数 是否必选 描述
pool_id 待删除的资源池ID。

请求消息

响应消息

请求示例

curl -X DELETE -H "X-Auth-Token: <token>" http://octavia-api.octavia.svc.cluster.local:9876/v2.0/lbaas/pools/6508798a-d5fa-4321-97ac-61797a078e32

正常响应示例

正常响应代码

204

错误码

400,401,403,404,409,500

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品