Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

485
Views
Configurar el límite de velocidad de Ingress-Nginx rps para una ruta específica

Estoy usando Kubernetes Kops. Quiero establecer rps de límite de velocidad en el nivel de Ingress-Nginx solo para una ruta específica.

Se acerca de

 nginx.ingress.kubernetes.io/limit-rps

Si configuro esto en las reglas de ingreso, se aplicará a todas las rutas. Pero, quiero aplicarlo para una ruta específica. Digamos, cuando intento acceder

 /login

Quiero establecer el límite de rps en 100 para la ruta / inicio de sesión

 nginx.ingress.kubernetes.io/limit-rps: 100

Esta es mi configuración de reglas de ingreso,

 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: staging-ingress-rules namespace: staging annotations: kubernetes.io/ingress.class: 'nginx' nginx.ingress.kubernetes.io/proxy-body-size: '0' spec: rules: - host: staging.mysite.com http: paths: - path: /login backend: serviceName: login_site servicePort: 80 - path: /registration backend: serviceName: registration_site servicePort: 80
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Es posible abusar ligeramente de la configuración de ingreso-nginx al agregar varias definiciones de ingreso para el mismo nombre de host. ingress-nginx fusionará las reglas/rutas juntas. Sin embargo, la configuración será más difícil de administrar y se está acercando a los límites de lo que el proxy nginx puede hacer por usted.

Otras opciones

Traefik tiene un middleware de límite de velocidad que se puede aplicar a las rutas .

También mire algo como kong o istio si desea comenzar a administrar servicios individuales con más detalle.

Configuración de entrada de Nginx

Aquí será importante crear una estructura para sus convenciones de nomenclatura para que sepa qué Ingress alberga qué rutas. Usar la ruta de la ruta en el name de Ingress es donde comenzaría, pero su caso de uso puede variar:

 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: staging-ingress-rules-registration annotations: kubernetes.io/ingress.class: 'nginx' nginx.ingress.kubernetes.io/proxy-body-size: '0' nginx.ingress.kubernetes.io/limit-rps: '10' spec: rules: - host: staging.mysite.com http: paths: - path: /registration backend: serviceName: registration-site servicePort: 80
 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: staging-ingress-rules-login annotations: kubernetes.io/ingress.class: 'nginx' nginx.ingress.kubernetes.io/proxy-body-size: '0' nginx.ingress.kubernetes.io/limit-rps: '100' spec: rules: - host: staging.mysite.com http: paths: - path: /login backend: serviceName: login-site servicePort: 80

No estoy seguro de cómo deberían administrarse las anotaciones de todo el host o del servidor (como nginx.ingress.kubernetes.io/ssl-ciphers ). Si todos se fusionan bien, entonces tal vez cree un ingreso especial solo para albergarlos. De lo contrario, podría terminar administrando la configuración del host en todas las configuraciones de Ingress, lo que será una molestia.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!