K8s Nginx Ingress 增加自定义Headers
问题来源
最近使用 K8s,通过社区版的 Nginx Ingress 来对外暴露服务,但是希望能够增加如Cache-Control等header标识,目前从网上资料来看,有两种方案:一种是通过注解 configuration-snippet 来实现,另一种则是通过 configmap 来实现。
解决方案
步骤一 编辑 custom_header.yaml
apiVersion: v1 data: test_header_1: "hello" test_header_2: "abc" kind: ConfigMap metadata: name: custom-headers namespace: default
通过 kubectl 生效该文件 kubectl apply -f custom_header.yaml
步骤二 修改 Nginx Controller 的 configuration 文件
kubectl edit configmap nginx-configuration -n kube-system
在data中增加两行
apiVersion: v1 data: add-headers: default/custom-headers proxy-set-headers: defualt-headers ... kind: ConfigMap meatadata: lables: app: ingress-nginx ...
步骤三 重启 Nginx Controller
kubectl rollout restart deploy [deployment-name] -n [namespace]