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.)