Helm チャート間で依存関係を共有する

Helm チャート間で依存関係を共有する

起動しようとしています共通の依存関係 (この場合は MySQL データベース) を共有するさまざまな Helm チャート。

次のような設定の 2 つの異なる Helm チャートを考えてみましょうChart.yaml

サービスA:

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

サービスB:

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

両方のサービスは独立していますが、同じデータベースを共有しています。ただし、デプロイメントが開始されると、2 つの独立したデータベースもトリガーされるため、問題が発生します。

代替案として、私はまた、参照された包括的なアプローチを追求することを試みた。ここすべてを同じ定義で定義することで親ヘルムチャート次のような設定になります:

親ヘルムチャート:

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

問題は、同じデータベースが依存関係として共有されているにもかかわらず、デプロイを試みるとデータベースに重複したコードが作成され、デプロイが失敗した状態になることです。その解決策として、Helm--post-rendererフラグを利用して、死んだこれは機能するという事実にもかかわらず、私はより実行可能な解決策を探していました。

関連情報