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

532
Views
Escalado de aplicaciones Flask en Kubernetes y Gunicorn

Tenemos una aplicación Flask que se sirve a través de gunicorn, usando el trabajador eventlet. Estamos implementando la aplicación en un pod de kubernetes, con la idea de escalar la cantidad de pods según la carga de trabajo.

La configuración recomendada para la cantidad de trabajadores en gunicorn es 2 - 4 x $NUM_CPUS . Ver documentos . Anteriormente implementé servicios en hardware físico dedicado donde tales cálculos tenían sentido. En una máquina de 4 núcleos, tener 16 trabajadores suena bien y finalmente lo subimos a 32 trabajadores.

¿Se sigue aplicando este cálculo en un pod de kubernetes que utiliza un trabajador asíncrono, en particular como:

  1. Podría haber varios pods en un solo nodo.
  2. El mismo servicio se ejecutará en varios pods.

¿Cómo debo configurar el número de trabajadores de gunicornio?

  1. ¿Configurarlo en -w 1 y dejar que kubernetes maneje la escala a través de pods?
  2. Establézcalo en 2-4 x $NUM_CPU en los nodos de kubernetes. ¿En una cápsula o en varias?
  3. ¿Algo completamente diferente?

Actualizar

Decidimos optar por la primera opción, que es nuestro enfoque actual. Establezca la cantidad de trabajos de gunicornio en 1 y escale horizontalmente aumentando la cantidad de vainas. De lo contrario, habrá demasiadas partes móviles y no aprovecharemos Kubernetes en todo su potencial.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Para una mejor visibilidad de la solución final elegida por el autor original de esta pregunta a partir del año 2019

Establezca la cantidad de trabajos de gunicorn en 1 (-w 1) y escale horizontalmente aumentando la cantidad de pods (usando Kubernetes HPA).

y el hecho de que podría no ser aplicable en un futuro cercano, teniendo en cuenta el rápido crecimiento de las funciones relacionadas con la carga de trabajo en la plataforma Kubernetes, por ejemplo, algunas distribuciones de Kubernetes proponen además de HPA, Vertical Pod Autoscaling (VPA) y Multidimensional Pod autoscaling (MPA) también, así que propongo continuar este hilo en forma de publicación wiki comunitaria.

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!