起動しようとしています二共通の依存関係 (この場合は 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
フラグを利用して、死んだこれは機能するという事実にもかかわらず、私はより実行可能な解決策を探していました。