Eine Abhängigkeit über mehrere Helm-Charts hinweg freigeben

Eine Abhängigkeit über mehrere Helm-Charts hinweg freigeben

Ich versuche zu startenzweiverschiedene Helm-Diagramme, die eine gemeinsame Abhängigkeit aufweisen (in diesem Fall eine MySQL-Datenbank).

Betrachten wir zwei verschiedene Helm-Charts mit dem folgenden Setup in Chart.yaml:

Dienst A:

dependencies:
  - name: mysql
    version: ^8.0.20
    repository: https://charts.bitnami.com/bitnami

Dienst B:

dependencies:
  - name: mysql
    version: ^8.0.20
    repository: https://charts.bitnami.com/bitnami

Obwohl beide Dienste unabhängig sind, teilen sie sich dieselbe Datenbank. Das Problem entsteht jedoch beim Start der Bereitstellung, da dadurch ebenfalls zwei unabhängige Datenbanken ausgelöst werden.

Als Alternative habe ich auch versucht, den Umbrella-Ansatz zu verfolgen, auf den verwiesen wirdHier, indem man alles unter derselbenübergeordnetes Steuerdiagrammmit einem Setup ähnlich diesem:

Übergeordnetes Helmdiagramm:

dependencies:
  - name: service_a
    version: 0.1.0
    repository: repo_for_service_a
  - name: service_b
    version: 0.1.0
    repository: repo_for_service_b

Das Problem besteht darin, dass, obwohl dieselbe Datenbank erneut als Abhängigkeit verwendet wird, beim Versuch der Bereitstellung doppelter Code für die Datenbank erstellt wird, was zu einem fehlgeschlagenen Bereitstellungsstatus führt. Als Lösung dafür habe ich das Helm- --post-rendererFlag genutzt, durchded. Obwohl dies funktioniert, suchte ich nach einer praktikableren Lösung.

verwandte Informationen