Planejamento de capacidade de contêiner Docker

12

Estou executando meu aplicativo em 4 máquinas virtuais com 8 CPUs virtuais de 3,2 GHz e 32 GB; no entanto, dividirei os processos em contêineres separados.

Não tenho certeza de quantos contêineres executar por host. Quais são os números típicos? Por exemplo, como a proporção da VM para o servidor bare metal é 1:10 em geral, quaisquer links sobre atributos a serem considerados, estruturas de decisão a serem consideradas ou experiências ajudariam!

shrao
fonte

Respostas:

9

O mesmo que qualquer carga do Linux, considere não mais processos no estado de espera que o número de CPU. A carga de 1, 5 e 15 minutos fornecida pelo uptimeideal deve ser 1 a menos que o número de núcleos.

Os contêineres são processos aproximadamente isolados, deixando um núcleo para orquestração para evitar congestionamentos.

Isso não significa apenas 7 contêineres em uma máquina de 8 núcleos; é uma questão de carga simultânea; portanto, a melhor maneira é medi-lo e adaptar-se consequentemente.

Tensibai
fonte
1

Pessoalmente, girei 100 contêineres em uma máquina de 32vcpu e, como muitos contêineres encaixam em CPUs aleatórias, não existe essa correlação entre o número de contêineres e o número de vcpus. Como os contêineres do docker podem ser considerados processos, parece lógico o que o @Tensibai mencionou.

lakshayk
fonte
Executar um loop while com o sono com todos os seus recipientes, você vai observar o que estou descrevendo acima, os recipientes são processos com um sistema de arquivos virtual, não é isso pode ser pensado, eles são exatamente isso
Tensibai