Montei uma lista de prós e contras que podem ajudar você e a sua empresa a decidir, sobre a necessidade de ter apenas um ou vários clusters de Kubernetes.
Razões para ter um único cluster:
- Reduzir a sobrecarga de configuração, manutenção e administração
- Melhor utilização de recursos
- Reduzir a latência entre aplicativos em vários clusters
- Redução de custos
Neste caso você utiliza Namespaces para poder separar os ambientes, como por exemplo Desenvolvimento, Homologação e Produção.
Razões para ter vários clusters:
- Limites de escalabilidade, por exemplo, um cluster Kubernetes tem um limite de nodes, pods, services.
- Separação de Desenvolvimento, Homologação e Produção.
- Separação para testar uma nova versão do Kubernetes.
- Segurança e Conformidade: de acordo com alguns regulamentos, alguns aplicativos devem ser executados em clusters/VPNs separados e diferentes políticas de segurança.
- Multi-fornecedor: para se proteger de práticas de Lock-in. Usando de clusters de vários fornecedores.
- Nuvem Pública/On Premise: para dividir a carga e o custo.
- Regionalidade para latência: executar clusters em diferentes regiões geográficas para reduzir a latência nessas regiões.
- Regionalidade para disponibilidade: executar em clusters em diferentes regiões/zonas de disponibilidade para reduzir os danos de um datacenter/região com falha.
- Facilitar a cobrança: Isolamento de cluster para facilitar a cobrança.