kubernetes Kubernets入口-nginx超时(120秒)

6za6bjd0  于 2023-01-20  发布在  Kubernetes
关注(0)|答案(1)|浏览(211)

我有一个api,大概运行4分钟左右,我已经用ingress-nginx在kubernetes上部署了它,除了长时间运行的api,所有api都正常工作,它总是返回504 Gateaway,如下所示:

我签入了stackoverflow,尝试了一些解决方案,但没有一个对我有效。
欢迎任何帮助。
Kubernetes Ingress (Specific APP) 504 Gateway Time-Out with 60 seconds
我已将入口配置更改如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: {{  .Values.releaseName }}-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: 'true'
    nginx.ingress.kubernetes.io/affinity: cookie
    nginx.ingress.kubernetes.io/session-cookie-name: "route"
    nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
    nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
    nginx.ingress.kubernetes.io/server-snippet: "keepalive_timeout 3600s; grpc_read_timeout 3600s; grpc_send_timeout 3600s;client_body_timeout 3600s;"
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "3601"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "3601"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "3601"
    # nginx.org/proxy-connect-timeout: 3600s
    # nginx.org/proxy-read-timeout: 3600s
    # nginx.org/proxy-send-timeout: 3600s
    nginx.ingress.kubernetes.io/proxy-body-size: "100M"
    nginx.ingress.kubernetes.io/proxy-next-upstream: "error non_idempotent  http_502 http_503 http_504"
    nginx.ingress.kubernetes.io/retry-non-idempotent: "true"
    nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: "5"
    nginx.ingress.kubernetes.io/proxy-next-upstream-tries: "1"
    # nginx.ingress.kubernetes.io/configuration-snippet: |-
    #   location  /HouseKeeping/Health/Healthz {
    #       deny all;
    #       return 403;
    #     }
    #   location  /InternalApi/ {
    #     deny all;
    #     return 403;
    #   }
    nginx.ingress.kubernetes.io/server-snippets: |
      http {
        client_max_body_size 100m;
      }
      location / {
        proxy_set_header Upgrade $http_upgrade;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-Host  $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Port  $server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header Connection $http_connection;
        proxy_cache_bypass $http_upgrade;
        proxy-connect-timeout: 3602;
        proxy-read-timeout: 3602;
        proxy-send-timeout: 3602;
      }
      
spec:
  rules:
    - host: {{  .Values.apiDomain }}
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: {{  .Values.releaseName }}-web-clusterip-srv
                port:
                  number: 80

我还更改了ingress-nginx-controller的configMap以添加以下配置:

apiVersion: v1
data:
  allow-snippet-annotations: "true"
  proxy-connect-timeout: "300"
  proxy-read-timeout: "300"
  proxy-send-timeout: "300"
kind: ConfigMap

我还使用命令获取了ingress-nginx的conf,看起来没问题
一个二个一个一个
它仍然在120秒后超时。

bvhaajcl

bvhaajcl1#

    • 排印错误**

替换以下内容(入口配置):

nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: "5"
nginx.ingress.kubernetes.io/proxy-next-upstream-tries: "1"

代替(入口配置)

nginx.ingress.kubernetes.io/proxy_next_upstream_timeout: "5"
nginx.ingress.kubernetes.io/proxy_next_upstream_tries: "1"
    • 编辑:**

查看此评论可能有助于解决您的问题。

相关问题