Kubernetes e bancos de dados
(iwanhae.tistory.com)Em geral, operar um DB no Kubernetes não é muito recomendado, e este é um texto em que vou falando livremente sobre quais problemas existem de forma mais concreta.
DB no K8s: vantagens
- sistema único de operação via
kubectl - modelo de segurança consistente (firewall, controle de acesso)
- integração de monitoramento
- gerenciamento automatizado
DB no K8s: problemas
- problemas de desempenho e estabilidade causados pela distância entre CPU e armazenamento
- problemas com recursos compartilhados do kernel Linux
- adição de novos pontos de falha
- isolamento operacional fraco
- aumento da complexidade de configuração, configuração de rede e gerenciamento do ciclo de vida
DB no K8s: soluções propostas
- abrir mão de parte das funcionalidades do Kubernetes (1 Pod de DB por nó, uso de Local Volume, uso de
hostNetworketc.) - uso de Operator conforme o tipo de DB
Conclusão:
- é possível, mas fica a dúvida se é eficiente
- parece útil para serviços com um número muito grande de DBs ou que toleram indisponibilidade de algumas horas
- fora isso, a abordagem tradicional parece mais eficiente
1 comentários
O desempenho se degrada, a manutenção fica mais difícil e, quando ocorre uma falha, há muitos pontos de gerenciamento, o que dificulta rastrear a causa.
Isso acaba gerando uma situação exatamente oposta ao objetivo original do k8s, que é reduzir os pontos de gerenciamento e o esforço operacional.