Planificación de capacidad de contenedores Docker

12

Estoy ejecutando mi aplicación en 4 máquinas virtuales con 8 CPU virtuales de 3.2 GHz y 32 GB, sin embargo, dividiré los procesos en contenedores separados.

No estoy seguro de cuántos contenedores ejecutar por host. ¿Cuáles son los números típicos? Por ejemplo, cómo la relación VM a servidor desnudo es generalmente 1:10, cualquier enlace sobre los atributos a considerar, los marcos de decisión a considerar o las experiencias ayudarían.

shrao
fuente

Respuestas:

9

Al igual que cualquier carga de Linux, no considere más procesos en estado de espera que el número de CPU. La carga en 1, 5 y 15 minutos dada uptimeidealmente debería ser 1 menos que el número de núcleos.

Los contenedores son procesos más o menos aislados, dejando un núcleo para la orquestación para evitar la congestión.

Eso no significa solo 7 contenedores en una máquina de 8 núcleos, es una cuestión de carga simultánea, por lo que la mejor manera es medirlo y adaptarlo en consecuencia.

Tensibai
fuente
1

Personalmente, he hecho girar 100 contenedores en una máquina de 32vcpu y como muchos contenedores acoplables se conectan a CPU aleatorias, no existe tal correlación entre el número de contenedores y el número de vcpus. Como los contenedores Docker pueden considerarse procesos, parece lógico lo que @Tensibai ha mencionado.

lakshayk
fuente
Ejecute un ciclo while sin dormir en todos sus contenedores, observará lo que describo anteriormente, los contenedores son procesos con un sistema de archivos virtual, eso no se puede pensar, son exactamente eso
Tensibai