更新时间:2024-05-09 GMT+08:00

ELB Ingress配置gzip数据压缩

ELB支持开启数据压缩,通过数据压缩可缩小传输文件大小,提升文件传输效率减少带宽消耗。

约束与限制

  • 该特性从以下版本开始支持:
    • v1.23集群:v1.23.14-r0及以上版本
    • v1.25集群:v1.25.9-r0及以上版本
    • v1.27集群:v1.27.6-r0及以上版本
    • v1.28集群:v1.28.4-r0及以上版本
    • v1.28以上版本集群
  • 如果您需要通过命令行创建,需要使用kubectl连接到集群,详情请参见通过kubectl连接集群

通过控制台创建

  1. 登录CCE控制台,单击集群名称进入集群。
  2. 在左侧导航栏中选择“服务”,切换至“路由”页签,在右上角单击“创建路由”
  3. 设置Ingress参数。本示例中仅列举必选参数,其余参数可根据需求参考通过控制台创建ELB Ingress进行设置。

    • 名称:自定义服务名称,可与工作负载名称保持一致。
    • 负载均衡器:选择弹性负载均衡的类型、创建方式。
      • 类型:本例中仅支持选择“独享型”
      • 创建方式:本文中以选择已有ELB为例进行说明,关于自动创建的配置参数请参见负载均衡器
    • 监听器配置:
      • 前端协议:支持HTTP和HTTPS。本文以HTTP协议为例。
      • 对外端口:开放在负载均衡服务地址的端口,可任意指定。
      • 高级配置:

        配置

        说明

        使用限制

        数据压缩

        开启将对特定文件类型进行压缩;关闭则不会对任何文件类型进行压缩。

        • Brotli支持压缩所有类型。
        • Gzip支持压缩的类型如下:

          text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml application/atom+xml application/xml application/json。

        独享型ELB实例支持配置。

        图1 配置gzip数据压缩
    • 转发策略配置:填写域名匹配规则及需要访问的目标Service。请求的访问地址与转发规则匹配时(转发规则由域名、URL组成,例如:10.117.117.117:80/helloworld),此请求将被转发到对应的目标Service处理。

  4. 单击“确定”,创建Ingress。

通过kubectl命令行创建

以关联已有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.class: performance                #ELB类型
    kubernetes.io/elb.port: '80'
    kubernetes.io/elb.gzip-enabled: 'true'              # 开启数据压缩
spec:
  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     
表1 关键参数说明

参数

参数类型

描述

kubernetes.io/elb.gzip-enabled

String

  • true:开启,将对特定文件类型进行压缩。
  • false:关闭,不会对任何文件类型进行压缩。在默认情况下数据压缩为关闭。

支持的压缩类型如下:

  • Brotli支持压缩所有类型。
  • Gzip支持压缩的类型包括:text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml application/atom+xml application/xml application/json。

仅独享型ELB的HTTP/HTTPS类型监听器支持配置。