更新时间:2024-01-04 GMT+08:00
ELB Ingress使用HTTP/2
Ingress支持HTTP/2的方式暴露服务,在默认情况下,客户端与负载均衡之间采用HTTP1.X协议,若需开启HTTP2功能,可在annotation字段中加入如下配置:
kubernetes.io/elb.http2-enable: 'true'
以关联已有ELB为例,yaml配置文件如下。
1.21及以下版本集群:
apiVersion: networking.k8s.io/v1beta1 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/ingress.class: cce kubernetes.io/elb.http2-enable: 'true' # 开启HTTP/2功能 spec: tls: - secretName: ingress-test-secret rules: - host: '' http: paths: - path: '/' backend: serviceName: <your_service_name> #替换为您的目标服务名称 servicePort: 80 #替换为您的目标服务端口 property: ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH
1.23及以上版本集群:
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
表6 HTTP/2参数说明
参数 |
是否必填 |
参数类型 |
描述 |
---|---|---|---|
kubernetes.io/elb.http2-enable |
否 |
Bool |
表示HTTP/2功能的开启状态。开启后,可提升客户端与LB间的访问性能,但LB与后端服务器间仍采用HTTP1.X协议。v1.19.16-r0、v1.21.3-r0及以上版本的集群支持此字段。 取值范围:
注意:只有当监听器的协议为HTTPS时,才支持开启或关闭HTTP/2功能。当监听器的协议为HTTP时,该字段无效,默认将其设置为false。 |
父主题: ELB Ingress管理