sql >> Base de Datos >  >> NoSQL >> Redis

2 gráficos de Helm con dependencia de Redis compartida

Cuando instala un gráfico usando Helm, generalmente espera cada versión tener su propio conjunto autónomo de objetos de Kubernetes. En el ejemplo básico que muestra, esperaría ver objetos de Kubernetes Service con un nombre similar a

release-a-application-a
release-a-redis
release-b-application-b
release-b-redis

Existe una convención general de que los objetos se nombran comenzando con {{ .Release.Name }} , por lo que los dos Redises están separados.

Esta es en realidad una configuración esperada. Una regla típica de la creación de microservicios es que cada servicio contiene su propio almacenamiento aislado y que los servicios nunca comparten almacenamiento entre sí. Este patrón de Helm es compatible con eso, y no hay realmente una desventaja en tener esta configuración.

Si realmente desea que los dos gráficos compartan una sola instalación de Redis, puede escribir un gráfico "paraguas" que no haga nada por sí solo, sino que dependa de los dos gráficos de aplicación. El gráfico tendría un Chart.yaml y (en Helm 2) un requirements.yaml archivo que hace referencia a los otros dos gráficos, pero no a templates directorio propio. Eso haría que Helm concluyera que un solo Redis podría admitir ambas aplicaciones y terminaría con algo como

umbrella-application-a
umbrella-application-b
umbrella-redis

(Según mi experiencia, normalmente no quieres esto - tú quieres quiere un Redis separado por aplicación, por lo que tratar de administrar varias instalaciones usando un gráfico general no funciona especialmente bien).