Planification de la capacité des conteneurs Docker

12

J'exécute mon application sur 4 machines virtuelles avec 8 CPU virtuels à 3,2 GHz et 32 ​​Go, cependant, je vais diviser les processus dans des conteneurs séparés.

Je ne sais pas combien de conteneurs exécuter par hôte. Quels sont les nombres typiques? Par exemple, comment le rapport VM / serveur bare metal est 1:10 en général, tout lien sur les attributs à considérer, les cadres de décision à considérer ou les expériences aiderait!

shrao
la source

Réponses:

9

Comme pour toute charge Linux, ne considérez pas plus de processus en attente que le nombre de CPU. La charge sur 1, 5 et 15 minutes donnée par uptimedevrait idéalement être inférieure de 1 au nombre de cœurs.

Les conteneurs sont des processus à peu près isolés, laissant un noyau d'orchestration pour éviter la congestion.

Cela ne signifie pas seulement 7 conteneurs sur une machine à 8 cœurs, c'est une question de chargement simultané, donc la meilleure façon est de le mesurer et de l'adapter en conséquence.

Tensibai
la source
1

Personnellement, j'ai fait tourner 100 conteneurs sur une machine 32vcpu et autant de conteneurs docker épinglent sur des processeurs aléatoires, il n'y a pas une telle corrélation entre le nombre de conteneurs et le nombre de vcpus. Comme les conteneurs Docker peuvent être considérés comme des processus, il semble logique que @Tensibai ait mentionné.

lakshayk
la source
Exécutez une boucle while sans sommeil sur tous vos conteneurs, vous observerez ce que je décris ci-dessus, les conteneurs sont des processus avec un système de fichiers virtuel, ce n'est pas possible, ils sont exactement cela
Tensibai