Kubernetes: Up and Running, 3ª edição
by Brendan Burns, Joe Beda, Kelsey Hightower, Lachlan Evenson
Capítulo 16. Integrando soluções de armazenamento e Kubernetes
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Em muitos casos, dissociar o estado das aplicações e construir os teus microsserviços para serem tão stateless quanto possível resulta em sistemas maximamente fiáveis e geríveis.
No entanto, quase todos os sistemas com alguma complexidade têm estado algures no sistema, desde os registos numa base de dados até aos fragmentos de índice que servem os resultados de um motor de busca da Web. A certa altura, tens de ter dados armazenados algures.
A integração desses dados com contêineres e soluções de orquestração de contêineres costuma ser o aspeto mais complicado da criação de um sistema distribuído. Essa complexidade decorre em grande parte do fato de que a mudança para arquiteturas em contêineres também é uma mudança para o desenvolvimento de aplicativos desacoplados, imutáveis e declarativos. Esses padrões são relativamente fáceis de aplicar a aplicativos da Web sem estado, mas até mesmo soluções de armazenamento "nativas da Cloud", como Cassandra ou MongoDB, envolvem algum tipo de etapas manuais ou imperativas para configurar uma solução confiável e replicada.
Como exemplo disso, considera a configuração de um ReplicaSet no MongoDB, que envolve a implantação do daemon Mongo e, em seguida, a execução de um comando imperativo para identificar o líder, bem como os participantes, no cluster Mongo. É claro ...