Тайм-аут входа Kubernetes Nginx только для двух запросов

В нашей входной конфигурации 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

Может ли кто-нибудь помочь мне настроить тайм-аут входа nginx только для двух запросов на 10 минут, а для всех остальных запросов по умолчанию — 1 минута.

1 ответ

Да, вы можете указать отдельный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
Другие вопросы по тегам