Kubernetes Nginx 仅针对两个请求的入口超时

Geo*_*Geo 2 kubernetes nginx-ingress

在我们的 k8s 入口配置中,我们将超时设置为 10 分钟并将其应用于所有请求。/my-service/v1/processfile是否可以仅对两个请求(例如和 )配置超时/my-service/v1/cachewarmup

目前我们的配置如下:

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: my-service
  annotations:
    nginx.ingress.kubernetes.io/proxy-connect-timeout: '600'
    nginx.ingress.kubernetes.io/proxy-send-timeout: '600'
    nginx.ingress.kubernetes.io/proxy-read-timeout: '600'
spec:
  rules:
  - host: my-service-dev1.eus1-devqa.geo.com
    http:
      paths:
      - path: /
        backend:
          serviceName: my-service-svc
          servicePort: 8080
Run Code Online (Sandbox Code Playgroud)

谁能帮我将两个请求的 nginx 入口超时配置为 10 分钟,所有其他请求默认为 1 分钟。

mda*_*iel 6

Ingress是的,您可以指定仅包含这两个路径的单独资源,因为 Ingress 按大多数特定模式匹配:

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: my-service
  annotations:
    nginx.ingress.kubernetes.io/proxy-connect-timeout: '60'
    nginx.ingress.kubernetes.io/proxy-send-timeout: '60'
    nginx.ingress.kubernetes.io/proxy-read-timeout: '60'
spec:
  rules:
  - host: my-service-dev1.eus1-devqa.geo.com
    http:
      paths:
      - path: /
        backend:
          serviceName: my-service-svc
          servicePort: 8080
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: my-service-600
  annotations:
    nginx.ingress.kubernetes.io/proxy-connect-timeout: '600'
    nginx.ingress.kubernetes.io/proxy-send-timeout: '600'
    nginx.ingress.kubernetes.io/proxy-read-timeout: '600'
spec:
  rules:
  - host: my-service-dev1.eus1-devqa.geo.com
    http:
      paths:
      - path: /my-service/v1/processfile
        backend:
          serviceName: my-service-svc
          servicePort: 8080
      - path: /my-service/v1/cachewarmup
        backend:
          serviceName: my-service-svc
          servicePort: 8080
Run Code Online (Sandbox Code Playgroud)