
Quero implantar um aplicativo monolítico tradicional no Kubernetes.
Milhares de clientes usam este aplicativo e cada cliente tem sua própria instância de aplicativo. se tivermos 5 clientes, devemos executar 5 instâncias separadas deste aplicativo.
O aplicativo também chama a API Kubernetes para executar alguns trabalhos.
Quero ter certeza de que tudo está isolado. É uma boa ideia criar um namespace separado para cada cliente? Isso causa alguns problemas de desempenho? Existe alguma solução melhor para isso?
Responder1
Resposta curta:sim, o isolamento do namespace seria um bom passo na direção certa, mas a configuração do IAM e uma política RBAC clara são essenciais ao tentar isolar os recursos do cluster.
Resposta longa:Você deve se preocupar aqui são os custos do cluster. O Kubernetes é resiliente e flexível por design, portanto, se você encontrar gargalos de desempenho, o dimensionamento está a um comando de distância. Se o seu cluster não for local e você estiver planejando usar um serviço em nuvem, recomendo fortementeGoogle Kubernetes Engine (GKE)pois é otimizado para suportar multilocação.
A equipe do GCP detalha as práticas recomendadas de multilocação K8saqui, acho que fornecerá uma resposta muito mais clara sobre sua pergunta.