Saat Anda memasang bagan menggunakan Helm, biasanya ia mengharapkan setiap rilis untuk memiliki kumpulan objek Kubernetes sendiri. Dalam contoh dasar yang Anda tunjukkan, saya berharap melihat objek Layanan Kubernetes bernama seperti
release-a-application-a
release-a-redis
release-b-application-b
release-b-redis
Ada konvensi umum bahwa objek diberi nama dimulai dengan {{ .Release.Name }}
, jadi kedua Redise itu terpisah.
Ini sebenarnya adalah pengaturan yang diharapkan. Aturan khas dalam membangun layanan mikro adalah bahwa setiap layanan berisi penyimpanan terisolasinya sendiri, dan layanan tidak pernah berbagi penyimpanan satu sama lain. Pola Helm ini mendukungnya, dan tidak ada kerugian untuk memiliki pengaturan ini.
Jika Anda benar-benar ingin kedua bagan berbagi satu instalasi Redis, Anda dapat menulis bagan "payung" yang tidak melakukan apa pun sendiri tetapi bergantung pada dua bagan aplikasi. Bagan akan memiliki Chart.yaml
file dan (dalam Helm 2) sebuah requirements.yaml
file yang mereferensikan dua bagan lainnya, tetapi bukan templates
direktorinya sendiri. Itu akan menyebabkan Helm menyimpulkan bahwa satu Redis dapat mendukung kedua aplikasi, dan Anda akan mendapatkan sesuatu seperti
umbrella-application-a
umbrella-application-b
umbrella-redis
(Dalam pengalaman saya, Anda biasanya tidak menginginkan ini – Anda melakukannya menginginkan Redis terpisah per aplikasi – jadi mencoba mengelola banyak penginstalan menggunakan bagan payung tidak akan bekerja dengan baik.)