更新时间:2024-10-14 GMT+08:00
为ELB Ingress配置HTTP/2
Ingress支持HTTP/2的方式暴露服务,在默认情况下,客户端与负载均衡之间采用HTTP1.X协议,若需开启HTTP2功能,可在annotation字段中加入如下配置:
kubernetes.io/elb.http2-enable: 'true'
- 当负载均衡端口使用HTTPS协议时,支持使用HTTP/2功能。
- 该特性从v1.23.13-r0、v1.25.8-r0、v1.27.5-r0、v1.28.3-r0集群版本开始支持。
- 配置HTTP/2后,如果您在CCE控制台删除开启HTTP/2的高级配置或在YAML中删除对应的annotation,ELB侧的配置将会保留。
以关联已有ELB为例,yaml配置文件如下。
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress-test annotations: kubernetes.io/elb.id: <your_elb_id> #替换为您已有的ELB ID kubernetes.io/elb.ip: <your_elb_ip> #替换为您已有的ELB IP kubernetes.io/elb.port: '443' kubernetes.io/elb.http2-enable: 'true' # 开启HTTP/2功能 spec: tls: - secretName: ingress-test-secret rules: - host: '' http: paths: - path: '/' backend: service: name: <your_service_name> #替换为您的目标服务名称 port: number: 8080 #替换为您的目标服务端口 property: ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH pathType: ImplementationSpecific ingressClassName: cce
参数 |
是否必填 |
参数类型 |
描述 |
---|---|---|---|
kubernetes.io/elb.http2-enable |
否 |
String |
表示HTTP/2功能的开启状态。开启后,可提升客户端与ELB间的访问性能,但ELB与后端服务器间仍采用HTTP1.X协议。 取值范围:
注意:只有当监听器的协议为HTTPS时,才支持开启或关闭HTTP/2功能。当监听器的协议为HTTP时,该字段无效,默认将其设置为false。 |
父主题: ELB Ingress管理