更新时间:2023-12-14 GMT+08:00
分享

创建负载均衡器

功能介绍

创建私网类型的负载均衡器。创建成功后,该接口会返回创建的负载均衡器的ID、所属子网ID、负载均衡器内网IP等详细信息。

若要创建公网类型的负载均衡器,还需调用创建弹性公网IP的接口,将弹性公网IP与私网负载均衡器的vip_port_id绑定。

调试

您可以在API Explorer中直接运行调试该接口。

URI

POST /v2.0/lbaas/loadbalancers

请求消息

表1 请求参数

参数

是否必选

参数类型

描述

loadbalancer

Object

负载均衡器对象。详见表2

表2 loadbalancer字段说明

参数

是否必选

参数类型

描述

name

String

负载均衡器名称。

支持的最大字符长度:255

description

String

负载均衡器的描述信息。

支持的最大字符长度:255

tenant_id

String

负载均衡器所在的项目ID。获取方法详见获取项目ID

支持的最大字符长度:255

需要和token中的project_id一致。

project_id

String

此参数和tenant_id参数含义一样,均指负载均衡器所在的项目ID。

获取方法详见获取项目ID

需要和token中的project_id一致。

vip_subnet_id

String

负载均衡器所在的子网IPv4子网ID。

可通过查询子网列表接口GET {vpc的endpoint}/v2.0/subnets获取。

vip_address将从该子网中产生。

只支持指定IPv4的子网ID。暂不支持IPv6。

provider

String

负载均衡器的生产者。

取值范围:vlb。

vip_address

String

负载均衡器的内网IP。

该IP必须为vip_subnet_id字段指定的子网网段中的IP。若不指定,自动从vip_subnet_id字段指定的子网网段中生成一个IP地址。

支持的最大字符长度:64

admin_state_up

Boolean

负载均衡器的管理状态。

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

响应消息

表3 响应参数

参数

参数类型

描述

loadbalancer

Object

负载均衡器对象。详见表4

表4 loadbalancer字段说明

参数

参数类型

描述

id

String

负载均衡器ID。

project_id

String

此参数和tenant_id参数含义一样,均指负载均衡器所在的项目ID。

tenant_id

String

负载均衡器所在项目的ID。

支持的最大字符长度:255

name

String

负载均衡器名称。

支持的最大字符长度:255

description

String

负载均衡器的描述信息。

支持的最大字符长度:255

vip_subnet_id

String

负载均衡器所在子网IPv4子网ID。

vip_port_id

String

负载均衡器内网IP对应的端口ID。

创建弹性负载均衡时,会自动为负载均衡创建一个port并关联一个默认的安全组,这个安全组对所有流量不生效。

provider

String

负载均衡器的生产者名称。

vip_address

String

负载均衡器的内网IP。

支持的最大字符长度:64

listeners

Array

负载均衡器关联监听器ID的列表。详见表5

pools

Array

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

operating_status

String

负载均衡器的操作状态。取值范围:可以为ONLINE和FROZEN。

provisioning_status

String

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

负载均衡器的配置状态。取值范围:可以为ACTIVE。

admin_state_up

Boolean

负载均衡器的管理状态。

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

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

tags

Array

负载均衡器的标签列表。

created_at

String

负载均衡器的创建时间。

格式为UTC时间:YYYY-MM-DDTHH:MM:SS

支持的最大字符长度:19

updated_at

String

负载均衡器的更新时间。

格式为UTC时间:YYYY-MM-DDTHH:MM:SS

支持的最大字符长度:19

表5 listeners字段说明

参数

参数类型

描述

id

String

关联的监听器id

表6 pools字段说明

参数

参数类型

描述

id

String

关联的后端服务器组id

请求示例

  • 请求样例1 创建私网负载均衡器
    POST https://{Endpoint}/v2.0/lbaas/loadbalancers 
    
    { 
        "loadbalancer": { 
            "name": "loadbalancer1", 
            "description": "simple lb", 
            "tenant_id": "1867112d054b427e808cc6096d8193a1", 
            "vip_subnet_id": "58077bdb-d470-424b-8c45-2e3c65060a5b", 
            "vip_address": "192.168.0.100", 
            "admin_state_up": true 
        } 
    }
  • 请求样例2

    请求样例1 创建私网负载均衡器的基础上,为私网负载均衡器的vip_port绑定弹性公网IP,具体参数说明参考申请弹性公网IP

    • step1 请求样例 申请弹性公网IP。
      POST https://{VPCEndpoint}/v1/8b7e35ad379141fc9df3e178bd64f55c/publicips
      
      {
          "publicip": {
              "type": "5_bgp",
              "ip_version": 4
          },
          "bandwidth": {
              "name": "bandwidth123",
              "size": 10,
              "share_type": "PER"
          }
      }
    • step1 响应样例
      {
          "publicip": {
              "id": "f588ccfa-8750-4d7c-bf5d-2ede24414706",
              "status": "PENDING_CREATE",
              "type": "5_bgp",
              "public_ip_address": "139.9.204.183",
              "tenant_id": "8b7e35ad379141fc9df3e178bd64f55c",
              "ip_version": 4,
              "create_time": "2019-06-29 06:45:32",
              "bandwidth_size": 1,
              "enterprise_project_id":"0"
          }
      }
    • step2 请求样例 绑定弹性公网IP,public_id为▪step1 响应样例中的publicip id,port_id为 响应样例1的vip_port_id。
      PUT /v1/8b7e35ad379141fc9df3e178bd64f55c/publicips/f588ccfa-8750-4d7c-bf5d-2ede24414706
      
      {
          "publicip": {
              "port_id": "a7ecbdb5-5a63-41dd-a830-e16c0a7e04a7"
          }
      }
    • step2 响应样例
      {
        "publicip": {
          "id": "f588ccfa-8750-4d7c-bf5d-2ede24414706",
          "status": "ACTIVE",
          "type": "5_bgp",
          "port_id": "a7ecbdb5-5a63-41dd-a830-e16c0a7e04a7",
          "public_ip_address": "139.9.204.183",
          "private_ip_address": "192.168.1.131",
          "tenant_id": "8b7e35ad379141fc9df3e178bd64f55c",
          "create_time": "2019-06-29 07:33:18",
          "bandwidth_size": 1,
          "ip_version": 4
        }
      }
    • 完成以上步骤,负载均衡器已具备公网访问的能力,可通过响应体中的public_ip_address:139.9.204.183来访问负载均衡器。

响应示例

  • 响应样例1
    {
        "loadbalancer": {
            "description": "simple lb",
            "provisioning_status": "ACTIVE",
            "tenant_id": "1867112d054b427e808cc6096d8193a1",
            "project_id": "1867112d054b427e808cc6096d8193a1",
            "created_at": "2019-01-19T05:32:56",
            "admin_state_up": true,
            "updated_at": "2019-01-19T05:32:57",
            "id": "ea2843da-4026-49ec-8338-8fa015b067fc",
            "pools": [],
            "listeners": [],
            "vip_port_id": "a7ecbdb5-5a63-41dd-a830-e16c0a7e04a7",
            "operating_status": "ONLINE",
            "vip_address": "192.168.0.100",
            "vip_subnet_id": "58077bdb-d470-424b-8c45-2e3c65060a5b",
            "provider": "vlb",
            "tags": [],
            "name": "loadbalancer1"
        }
    }
  • 响应样例 2
    POST https://{Endpoint}/v2.0/lbaas/loadbalancers 
    
    { 
        "loadbalancer": { 
            "name": "loadbalancer1", 
            "description": "simple lb", 
            "tenant_id": "1867112d054b427e808cc6096d8193a1", 
            "vip_subnet_id": "58077bdb-d470-424b-8c45-2e3c65060a5b", 
            "vip_address": "192.168.0.100", 
            "admin_state_up": true 
        } 
    }

完成以上步骤,负载均衡器已具备公网访问的能力,可通过响应体中的public_ip_address:139.9.204.183来访问负载均衡器。

返回码

请参见状态码

相关文档