文档首页/ 云容器引擎 CCE/ 用户指南/ 网络/ 网关API(Gateway API)/ ELB Gateway/ 自动创建负载均衡配置(lbconfig)
更新时间:2026-11-10 GMT+08:00
分享

自动创建负载均衡配置(lbconfig)

LoadBalancerAutoCreateConfiguration(lbconfig)用于定义ELB(弹性负载均衡)的创建参数。您只需将配置好的lbconfig关联至自定义GatewayClass或Gateway,CCE即可根据预设参数自动为您创建对应的ELB实例。CCE默认提供了5种预置的GatewayClass,可满足绝大多数场景的需求(详见默认GatewayClass)。当预置GatewayClass绑定的底层ELB参数(如规格、带宽等)无法满足需求时,您可以参考本文创建自定义lbconfig并完成关联,实现ELB创建参数的按需定制。

前提条件

集群版本已支持ELB Gateway功能。

约束与限制

修改lbconfig不会变更已有Gateway的ELB配置,更改仅对新创建的Gateway生效。

操作步骤

步骤一:创建lbconfig资源

创建lbconfig,详见LoadBalancerAutoCreateConfiguration参数说明
apiVersion: gateway.cce.io/v1alpha1
kind: LoadBalancerAutoCreateConfiguration
metadata:
  name: my-lb-config
# 注意:lbconfig 是集群级资源(Cluster-scoped),不设 namespace
spec:
  name: "cce-lb-my-gateway"            # 创建的 ELB 名称
  guaranteed: true                     # 是否创建独享型 ELB:true=独享型 / false=共享型
  tags:                                # ELB 实例标签
    - key: "my-tag-key"                # 标签键
      value: "my-tag-value"            # 标签值
  vipSubnetCIDRID: "subnet-cidr-id-xxx"  # ELB 前端子网 CIDR ID
  elbVipAddress: "192.168.1.100"      # ELB VIP 地址,不填则自动分配
  loadbalanceReclaimPolicy: alwaysDelete     #自动创建ELB的回收策略
  ipv6BandWidthID: ""                 # 已有的 IPv6 共享带宽 ID,仅独享型支持
  publicIP:                           # 公网 IP 配置
    networkType: "5_bgp"              # 公网 IP 网络类型
    bandwidth:                        # 带宽配置
      bandwidthName: "my-bandwidth"   # 带宽名称
      bandwidthSize: 10               # 带宽大小(Mbit/s)
      bandwidthChargeMode: "bandwidth"  # 计费模式:bandwidth=按带宽 / traffic=按流量
      bandwidthShareType: "PER"       # 带宽共享类型:PER=独享 / WHOLE=共享
      bandwidthID: ""                 # 已有的共享带宽 ID,加入该带宽(不新创建)
  enterpriseProjectID: "0"             # 企业项目 ID
  elbVirSubnetIDs:                     # ELB 后端子网 ID 列表,仅独享型支持
    - "vir-subnet-id-1"
    - "vir-subnet-id-2"
  elbIPv6SubnetID: "ipv6-subnet-id"   # ELB IPv6 前端子网 ID,仅独享型支持
  l4FlavorID: "flavor-l4-xxx"          # 四层规格 ID,仅独享型支持
  l4FlavorName: ""                     # 四层规格名称,仅独享型支持
  l7FlavorID: "flavor-l7-xxx"          # 七层规格 ID,仅独享型支持
  l7FlavorName: ""                     # 七层规格名称,仅独享型支持
  availabilityZones:                   # 可用区列表,仅独享型支持
    - "az-1"
    - "az-2"

步骤二:关联lbconfig至Gateway

您可以根据实际管理需求,选择以下任意一种方式进行关联:

  • 方式一:通过GatewayClass统一关联(推荐)

    适用场景:集群管理员统一运维。由管理员创建GatewayClass并绑定lbconfig,开发人员后续只需声明该GatewayClass即可直接继承ELB配置。

    1. 创建GatewayClass并关联lbconfig:在parametersRef中引用步骤1创建的lbconfig。
      apiVersion: gateway.networking.k8s.io/v1
      kind: GatewayClass
      metadata:
        name: my-cce-gateway-class
      spec:
        controllerName: gateway.cce.io/gateway-controller      #cce 管理的gatewayControllerName
        parametersRef:        
          group: gateway.cce.io
          kind: LoadBalancerAutoCreateConfiguration     
          name: lbconfig-plb-basic   # 创建的自定义lbConfig名称
    2. 创建Gateway:声明使用上述GatewayClass。
      apiVersion: gateway.networking.k8s.io/v1
      kind: Gateway
      metadata:
        name: my-cce-gateway
        namespace: default
      spec:
        gatewayClassName: my-cce-gateway-class
        listeners:
          - name: default-http
            port: 80
            protocol: HTTP
  • 方式二:在Gateway级别直接关联

    适用场景:单个Gateway业务的特化定制。无需新建GatewayClass,直接在Gateway资源中指定lbconfig。

    apiVersion: gateway.networking.k8s.io/v1
    kind: Gateway
    metadata:
      name: my-gateway
      namespace: default
    spec:
      gatewayClassName: cce-dedicated-external   #gatewayClass名称
      infrastructure:
        parametersRef:
          group: gateway.cce.io
          kind: LoadBalancerAutoCreateConfiguration     
          name: lbconfig-plb-basic   # 创建的自定义lbConfig名称
      listeners:
        - name: http
          protocol: HTTP
          port: 82

当Gateway与它所使用的GatewayClass同时配置了lbconfig时,Gateway级别的配置优先级更高,将自动覆盖GatewayClass级别的配置。

LoadBalancerAutoCreateConfiguration参数说明

表1 lbconfig Spec

参数

是否必填

参数类型

描述

name

否

String

自动创建的负载均衡的名称。

取值范围:只能由中文、英文字母、数字、下划线、中划线、点组成,且长度范围为1-64个字符。

默认名称:cce-gw+gateway.UID

guaranteed

否

Boolean

负载均衡实例类型,独享型或者共享型。

取值如下

  • true :独享型负载均衡
  • false:共享型负载均衡

默认类型:false

availabilityZones

否

Array of strings

负载均衡所在可用区。

可以通过查询可用区列表获取所有支持的可用区。

独享型负载均衡器独有字段。

vipSubnetCIDRID

否

String

填写子网的IPv4子网ID,指定ELB所在的子网,用于分配ELB实例对外服务的IP地址,该子网必须属于集群所在的VPC。

如不指定,则默认与集群在同一个子网。

仅v1.21及以上版本的集群支持指定该字段。

获取方式:

登录VPC控制台,在左侧导航栏选择“子网”,根据集群所在的VPC名称筛选子网,单击子网名称,在“基本信息”页签下找到“IPv4子网ID”字段复制即可。

elbVirSubnetIDs

否

Array of strings

填写子网的网络ID,指定负载均衡后端所在子网,用于分配与后端服务建立连接的IP地址,不填默认为vip_subnet_cidr_id参数所选的子网。不同实例规格将占用不同数量子网IP,不建议使用其他资源(如集群,节点等)的子网网段。

独享型负载均衡器独有字段。

获取方式:

登录VPC控制台,在左侧导航栏选择“子网”,根据集群所在的VPC名称筛选子网,单击子网名称,在“基本信息”页签下找到“网络ID”字段复制即可。

elbVipAddress

否

String

负载均衡器的内网IP。仅支持指定IPv4地址,不支持指定IPv6地址。

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

l4FlavorName

否

String

四层负载均衡实例规格名称。需要使用TCP、UDP、TLS协议时必填。

可以通过查询规格列表获取所有支持的类型。

  • 弹性规格:适用于业务用量波动较大的场景,按实际使用量收取每小时使用的容量费用。
  • 固定规格:适用于业务用量较为稳定的场景,按固定规格折算收取每小时使用的容量费用。

独享型负载均衡器独有字段。

l7FlavorName

否

String

七层负载均衡实例规格名称。使用HTTP/HTTPS协议时必填。

可以通过查询规格列表获取所有支持的类型。

  • 弹性规格:适用于业务用量波动较大的场景,按实际使用量收取每小时使用的容量费用。
  • 固定规格:适用于业务用量较为稳定的场景,按固定规格折算收取每小时使用的容量费用。

独享型负载均衡器独有字段,必须与l4_flavor_name对应规格的类型一致,即都为弹性规格或都为固定规格。

tags

否

Array of ELBTag objects

ELB 实例标签列表

loadbalanceReclaimPolicy

否

String

自动创建的ELB配置回收策略,取值如下:

  • retain:在删除Gateway时保留自动创建的ELB。
  • alwaysDelete:在删除Gateway时会删除自动创建的ELB。若ELB被多个Service/Ingress/Gateway关联,删除所有的关联该ELB的Service/Ingress/Gateway后,会保证该ELB被同步删除。

默认值 :alwaysDelete

publicIP

否

PublicIP object

公网 IP 配置

ipTargetEnable

否

Boolean

指定是否启用 IP 地址后端。

  • true:表示启用IP类型的后端。
  • false:表示关闭IP类型的后端。
表2 ELBTag

参数

是否必填

参数类型

描述

key

是

String

标签键

value

是

String

标签值

表3 PublicIP

参数

是否必填

参数类型

描述

networkType

是

String

公网IP网络类型,如5_bgp、5_sbgp

bandwidth

是

Bandwidth Object

带宽配置

表4 Bandwidth

参数

是否必填

参数类型

描述

bandwidthShareType

否

String

带宽共享类型,如PER、WHOLE

bandwidthSize

否

Integer

带宽大小,默认1Mbit/s~2000Mbit/s,请根据Region带宽支持范围设置。

调整带宽时的最小单位会根据带宽范围不同存在差异。

  • 小于等于300Mbit/s:默认最小单位为1Mbit/s。
  • 300Mbit/s~1000Mbit/s:默认最小单位为50Mbit/s。
  • 大于1000Mbit/s:默认最小单位为500Mbit/s。

bandwidthChargeMode

否

String

带宽付费模式。

  • bandwidth:按带宽
  • traffic:按流量

bandwidthID

否

String

已有共享带宽ID

bandwidthName

否

String

带宽的名称,默认值为:cce-bandwidth-******。

取值范围:只能由中文、英文字母、数字、下划线、中划线、点组成,且长度范围为1-64个字符。

ipv6BandWidthID

否

String

已有IPv6共享带宽ID,仅独享型ELB

相关文档