Ingress-nginx 中开启 Brotili 压缩算法
Brotli是Google开发的一种压缩方法,于2015年发布。我们常用的压缩算法是 gzip(Ingress-nginx也是默认使用gzip),据说brotli要比gzip高出20%至30%的压缩率。
ingress-nginx 配置
默认的压缩算法是gzip
,压缩级别为1
,如需要启用brotli
,需要配置以下三个参数:
- enable-brotli: true 或 false,是否启用brotli压缩算法
- brotli-level: 压缩级别,范围
1~11
,默认为4
,级别越高,越消耗CPU性能。 - brotli-types: 由brotli即时压缩的MIME类型
应用修改
查看当前configmap资源
kubectl get cm ingress-nginx-configuration -n my-namespace -o yaml
将configmap资源导出到configmap.yaml文件,编辑configmap.yaml
,添加如下内容:
apiVersion: v1
kind: ConfigMap
metadata:
name: ingress-nginx-configuration
data:
enable-brotli: "true"
brotli-level: "6"
brotli-types: "text/xml image/svg+xml application/x-font-ttf image/vnd.microsoft.icon application/x-font-opentype application/json font/eot application/vnd.ms-fontobject application/javascript font/otf application/xml application/xhtml+xml text/javascript application/x-javascript text/plain application/x-font-truetype application/xml+rss image/x-icon font/opentype text/css image/x-win-bitmap"
更新资源文件
kubectl apply -f configmap.yaml -n my-namespace
配置参考
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/