首页 > 解决方案 > 如何更新 ngnix 入口控制器的 ngnix 配置

问题描述

我已经安装了使用 helm chartngnix的入口控制器。K8 cluster

helm install --name nginx-ingress stable/nginx-ingress --namespace kube-system

我想更新入口控制器ngnix.conf文件中的以下值:ngnix

 1. proxy-connect-timeout
 2. proxy-read-timeout
 3. location 

{
    add_header "Cache-Control" "max-age=0, no-cache, no-store, must-revalidate";
    add_header "Pragma" "no-cache";
    add_header "Expires" "-1";
}

我在 ingress.yaml 下面使用过:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-iningress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "300s"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "300s"
    nginx.ingress.kubernetes.io/client-max-body-size: "0"
    nginx.ingress.kubernetes.io/server-snippet: |
                  location / {
                     add_header "Cache-Control" "max-age=0, no-cache, no-store, must-revalidate";
                     add_header "Pragma" "no-cache";
                     add_header "Expires" "-1";
                  }
spec:
  rules:
  - host: {{ .Values.ingress.hosts }}
    http:
      paths:
      - path: /ui
        backend:
          serviceName: sift-ui-service
          servicePort: {{ .Values.service.sift_ui.port }}

然后当我检查 ngnix.conf 使用

kubectl exec -it nginx-ingress-controller-b4477bdf7-gwt8v -n kube-system -- cat /etc/nginx/nginx.conf

proxy-connect-timeout并且proxy-read-timeout不要更新。它显示默认值,并且服务器代码段也不会被添加。

谁能告诉我如何update/add配置ngnix入口控制器?

标签: kubernetes-ingressnginx-ingress

解决方案


我得到了上述问题的解决方案。我用过

 nginx.ingress.kubernetes.io/proxy-connect-timeout: "300s" 

代替

 nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"

 nginx.ingress.kubernetes.io/server-snippet 

代替

 nginx.ingress.kubernetes.io/configuration-snippet

解决方案 :

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-iningress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/client-max-body-size: "0"
    nginx.ingress.kubernetes.io/configuration-snippet: |
      add_header "Cache-Control" "max-age=0, no-cache, no-store, must-revalidate";
      add_header "Pragma" "no-cache";
      add_header "Expires" "-1";
spec:
  rules:
  - host: {{ .Values.ingress.hosts }}
    http:
      paths:
      - path: /ui
        backend:
          serviceName: sift-ui-service
          servicePort: {{ .Values.service.sift_ui.port }} 

推荐阅读