更新时间:2023-12-18 GMT+08:00

创建负载均衡器

功能介绍

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

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

URI

POST /v2.0/lbaas/loadbalancers

请求消息

表1 请求参数

参数

是否必选

参数类型

描述

loadbalancer

Object

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

表2 loadbalancer字段说明

参数

是否必选

参数类型

描述

name

String

负载均衡器名称。

支持的最大字符长度:255

description

String

负载均衡器的描述信息。

支持的最大字符长度:255

tenant_id

String

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

支持的最大字符长度:255

需要和token中的project_id一致。

project_id

String

此参数和tenant_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,具体参数说明参考表7

    表7 请求参数说明

    参数

    是否必选

    参数类型

    描述

    publicip

    Object

    弹性公网IP对象,请参见表8

    bandwidth

    Object

    带宽对象,请参见表9

    enterprise_project_id

    String

    • 企业项目ID。最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。
    • 创建弹性公网IP时,给弹性公网IP绑定企业项目ID。
    • 不指定该参数时,默认值是 0
    说明:

    关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》

    表8 publicip参数说明

    参数

    是否必选

    参数类型

    描述

    type

    String

    • 功能说明:弹性公网IP的类型
    • 取值范围:5_telcom,5_union,5_bgp,5_sbgp
      • 华南-广州:5_bgp、5_sbgp
      • 华东-上海二:5_bgp、5_sbgp
      • 华北-北京一:5_bgp、5_sbgp
      • 中国-香港:5_bgp
      • 西南-贵阳一:5_bgp、5_sbgp
      • 华北-北京四:5_bgp、5_sbgp
    • 约束:
      • 必须是系统具体支持的类型
      • publicip_id为IPv4端口,所以"publicip_type"字段未给定时,默认为5_bgp。

    ip_version

    Integer

    • 功能说明:弹性公网IP的版本
    • 取值范围:4、6,分别表示创建ipv4和ipv6
    • 约束:
      • 必须是系统具体支持的类型
      • 不填或空字符串时,默认创建ipv4

    ip_address

    String

    • 功能说明:希望申请到的弹性公网IP的地址,不指定时由系统自动分配
    • 约束:必须为IPv4地址格式,且必须在可用地址池范围内
    表9 bandwidth字段说明

    参数

    是否必选

    参数类型

    描述

    name

    String

    • 功能说明:带宽名称
    • 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)
    • 如果share_type是PER,该参数必须带,如果share_type是WHOLE并且id有值,该参数会忽略。

    size

    Integer

    • 功能说明:带宽大小
    • 取值范围:默认1Mbit/s~300Mbit/s(具体范围以各区域配置为准,请参见控制台对应页面显示)。
    • 约束:share_type是PER,该参数必须带,如果share_type是WHOLE并且id有值,该参数会忽略。
    • 注意:调整带宽时的最小单位会根据带宽范围不同存在差异。
      • 小于等于300Mbit/s:默认最小单位为1Mbit/s。
      • 300Mbit/s~1000Mbit/s:默认最小单位为50Mbit/s。
      • 大于1000Mbit/s:默认最小单位为500Mbit/s。

    id

    String

    • 功能说明:带宽ID,创建弹性公网IP时可以指定已有的共享带宽
    • 取值范围:共享(WHOLE类型)带宽ID

    share_type

    String

    • 功能说明:带宽类型
    • 取值范围:
      • PER:独享带宽
      • WHOLE:共享带宽

    charge_mode

    String

    • 取值默认为traffic。当前仅支持按照流量计费。
    • 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
              
          }
      }
    • 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来访问负载均衡器。

返回码

请参见状态码