Helmを使用してグラフをインストールすると、通常、各リリースが想定されます。 独自の自己完結型のKubernetesオブジェクトのセットを持つ。表示する基本的な例では、次のような名前のKubernetesServiceオブジェクトが表示されると思います
release-a-application-a
release-a-redis
release-b-application-b
release-b-redis
オブジェクトには、{{ .Release.Name }}
で始まる名前が付けられるという一般的な規則があります。 、したがって、2つのRediseは別々です。
これは実際には予想される設定です。マイクロサービスを構築する一般的なルールは、各サービスに独自の分離されたストレージが含まれ、サービスが互いにストレージを共有することはないというものです。このヘルムパターンはそれをサポートしており、この設定を行うことに実際に不利な点はありません。
2つのチャートで1つのRedisインストールを共有したい場合は、それ自体では何も行わないが、2つのアプリケーションチャートに依存する「傘」チャートを作成できます。グラフにはChart.yaml
が含まれます ファイルと(Helm 2では)requirements.yaml
他の2つのグラフを参照しているが、templates
は参照していないファイル 独自のディレクトリ。これにより、Helmは、単一のRedisが両方のアプリケーションをサポートできると結論付け、最終的には次のようになります。
umbrella-application-a
umbrella-application-b
umbrella-redis
(私の経験では、通常はしない これが欲しい–あなたは アプリケーションごとに個別のRedisが必要なため、アンブレラチャートを使用して複数のインストールを管理しようとしても特にうまくいきません。)