Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

2 Helm Charts com dependência compartilhada do Redis


Quando você instala um gráfico usando o Helm, ele geralmente espera cada lançamento ter seu próprio conjunto independente de objetos do Kubernetes. No exemplo básico que você mostra, eu esperaria ver objetos Kubernetes Service nomeados como
release-a-application-a
release-a-redis
release-b-application-b
release-b-redis

Existe uma convenção geral de que os objetos são nomeados começando com {{ .Release.Name }} , então os dois Redises são separados.

Esta é realmente uma configuração esperada. Uma regra típica de construção de microsserviços é que cada serviço contém seu próprio armazenamento isolado e que os serviços nunca compartilham armazenamento entre si. Este padrão Helm suporta isso, e não há realmente uma desvantagem em ter essa configuração.

Se você realmente deseja que os dois gráficos compartilhem uma única instalação do Redis, pode escrever um gráfico "guarda-chuva" que não faça nada sozinho, mas depende dos dois gráficos de aplicativos. O gráfico teria um Chart.yaml e (no Helm 2) um requirements.yaml arquivo que referencia os dois outros gráficos, mas não um templates diretório próprio. Isso faria com que o Helm concluísse que um único Redis poderia suportar os dois aplicativos, e você acabaria com algo como
umbrella-application-a
umbrella-application-b
umbrella-redis

(Na minha experiência, você geralmente não quer isso - você faz deseja um Redis separado por aplicativo - e, portanto, tentar gerenciar várias instalações usando um gráfico guarda-chuva não funciona muito bem.)