更新时间:2026-08-26 GMT+08:00
为ELB Ingress监听器配置新建与并发连接限速
本文介绍如何通过kubernetes.io/elb.cps和kubernetes.io/elb.connection注解,为ELB Ingress监听器配置新建连接限速与并发连接限速,防止后端服务因突发流量而过载。
前提条件
- 已创建一个CCE Standard或CCE Turbo集群,且集群版本满足以下要求:
- v1.30集群:v1.30.14-r100及以上
- v1.31集群:v1.31.14-r60及以上
- v1.32集群:v1.32.13-r30及以上
- v1.33集群:v1.33.12-r10及以上
- v1.34集群:v1.34.8-r10及以上
- v1.35集群:v1.35.5-r10及以上
- v1.36集群:v1.36.2-r0及以上
- 其他更高版本的集群
- 集群中需提前部署可用的工作负载用于对外提供访问。若您无可用工作负载,可参见创建无状态负载(Deployment)、创建有状态负载(StatefulSet)或创建守护进程集(DaemonSet)部署工作负载。
- 为提供对外访问的工作负载配置Service,ELB Ingress支持的Service类型请参见ELB Ingress支持的Service类型。
约束与限制
仅支持独享型ELB。
通过kubectl命令行配置
- 请参见通过kubectl连接集群,使用kubectl连接集群。
- 创建名为“ingress-test.yaml”的YAML文件,此处文件名可自定义。
vi ingress-test.yaml
以使用已有ELB为例,配置示例如下:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: kubernetes.io/elb.id: 2c623150-17bf-45f1-ae6f-384b03****** # 已有ELB的ID kubernetes.io/elb.class: performance # ELB的类型 kubernetes.io/elb.port: '443' kubernetes.io/elb.tls-certificate-ids: 6cfb43c9de1a41a18478b868e3******,6cfb43c9de1a41a18478b868e***** # HTTPS证书配置 kubernetes.io/elb.connection: '10' # 监听器并发限速 kubernetes.io/elb.cps: '100' # 监听器新建限速 name: ingress-test namespace: default spec: ingressClassName: cce rules: - host: example.com http: paths: - backend: service: name: test port: number: 8888 path: / pathType: ImplementationSpecific property: ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH涉及参数描述如下表所示。
参数
类型
描述
kubernetes.io/elb.cps
Integer
参数解释:监听器新建限速。
约束限制:当该限速值大于LB的限速值时,以LB的限速值生效
取值范围:0-1000000
默认取值:0,表示不限速。
kubernetes.io/elb.connection
Integer
参数解释:监听器并发限速
约束限制:当该限速值大于LB的限速值时,以LB的限速值生效
取值范围:0-1000000
默认取值:0,表示不限速。
- 创建Ingress。
kubectl create -f ingress-test.yaml
回显类似如下,表示Ingress服务已创建。
ingress.networking.k8s.io/ingress-test created
- 查看已创建的Ingress。
kubectl get ingress
回显如下,表示Ingress服务创建成功。
NAME CLASS HOSTS ADDRESS PORTS AGE ingress-test cce example.com 121.**.**.** 80,443 10s
- 在ELB控制台,可查看443监听器当前生效的限速配置。
该监听器按可用区维度限制:每秒新建连接数为100,并发连接数为10。
