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
¿Cómo configurar el autoescalado en docker swarm?

Me gustaría saber cómo configurar esta herramienta para comenzar con un número mínimo de nodos y crecer hasta un número máximo de nodos cuando sea necesario.

¿Debo usar otra herramienta o Docker Swarm puede resolver esto por mí?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Respuesta corta : no hay una manera fácil de hacer esto con Docker Swarm por ahora.

Docker Swarm (o el modo Swarm) no admite máquinas de escalado automático listas para usar. Necesitaría usar otra solución para eso, como docker-machine para crear máquinas (con docker) en su infraestructura y vincularlas al clúster Swarm existente (con docker swarm join ).

Esto implicará una gran cantidad de secuencias de comandos, pero la idea es monitorear el clúster para el uso de CPU/Memoria/Red (con top o monit ) y una vez que supera un umbral (digamos el 70% de los recursos totales del clúster), desencadena una llamada de secuencia de comandos docker-machine para escalar el clúster. Con la misma idea, también puede reducir la escala mediante el drenaje y la eliminación de nodos (preferiblemente nodos de Agent ) del clúster de enjambre existente una vez que esté por debajo del umbral inferior.

Debe asegurarse de estar monitoreando el uso sostenido de los recursos si desea utilizar este criterio o tendrá su infraestructura generando y destruyendo nodos debido a los cambios frecuentes y repentinos en el uso de los recursos.

Puede definir un límite inferior y un límite superior para las máquinas en el clúster para mantener las cosas bajo control.

Tenga en cuenta que Swarm requiere al menos 3 nodos de Manager (se recomiendan 5) para mantener un quórum para el algoritmo de consenso distribuido. Por lo tanto , el límite inferior mínimo recomendado es de 5 nodos (que puede ampliar con los nodos de Agent a medida que los servicios utilizan los recursos de forma incremental).

Hasta cierto punto, también puede echar un vistazo a Docker InfraKit o Terraform para la automatización de la infraestructura y el control de la salud .

Actualización : ahora hay un prometedor escalador automático multiplataforma que admite el escalado automático de tareas en modo Swarm: Orbiter . Aunque todavía no hay nada listo para usar para el escalado automático de servicio/máquina.

over 4 years ago · Santiago Trujillo Report

0

Ampliar es bastante fácil. Puede seguir programando contenedores cuando sea necesario. Luego, simplemente crea un script que busca un contenedor pendiente y amplía el clúster. Por ejemplo, si está utilizando la plantilla oficial de CloudFormation en aws for swarm, puede cambiar el número deseado en el grupo de ajuste de escala automático. Un script de iteración de ejemplo podría verse así:

 services=$(docker service ls --format '{{.ID}}') for service in $services; do tasks=$(docker service ps $service --format '{{.ID}}') for task in $tasks; do if docker inspect $task --format '{{.Status}}' | grep 'insufficient resources' 1>/dev/null; then scale-up-cmd fi done done
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!