
Como descobrir quantos recursos mínimos e máximos devem ser alocados para cada implantação de aplicativo? Estou configurando um cluster e não configurei nenhum recurso e deixei ele rodar livremente.
Acho que poderia usar top command
para descobrir a carga durante o horário de pico e trabalhar nisso, mas ainda assim o máximo diz 6% ou 10%, mas não tenho certeza de como calculá-los para produzir algo como 0.5 cpu
ou 100 MB
. Existe um método/fórmula para determinar o máximo e o mínimo com base no top command
uso?
Estou executando dois nós t3.medium e tenho os seguintes pods httpd and tomcat in namespace1
,,, mysql in namepsace2
. jenkins and gitlab in namespace3
Existe algum guia sobre os recursos mínimos necessários? ou preciso descobrir isso com base no topo ou em algum outro método?
Responder1
Os recursos a serem atribuídos ao pod dependem do uso do seu aplicativo. Por exemplo, ao instalar jenkins
usando o helm, ele especificou o seguintesolicitações e limites de recursos:
resources:
requests:
cpu: "50m"
memory: "256Mi"
limits:
cpu: "2000m"
memory: "4096Mi"
Mas para evitar o encerramento do pod devido a recursos insuficientes, você pode usarHorizontal Pod Autoscaler
com métricas de recursos para aumentar ou diminuir os pods com base emconsumo de recursos(ou qualquer outrométricas personalizadas, como solicitações etc.). HPA requermetrics-server
para estar em execução em seu cluster.
Pode ser facilmente criado usandokubectl autoscale
, por exemplo:
kubectl autoscale deployment <deployment-name> --cpu-percent=50 --min=1 --max=10
Onde --min
é o número mínimo de réplicas a serem executadas e --max
é o máximo de réplicas dos pods que serão criados em caso de aumento de carga.