जब आप हेल्म का उपयोग करके चार्ट स्थापित करते हैं, तो यह आमतौर पर प्रत्येक रिलीज़ . की अपेक्षा करता है कुबेरनेट्स वस्तुओं का अपना स्वयं का सेट रखने के लिए। आपके द्वारा दिखाए गए मूल उदाहरण में, मैं कुबेरनेट्स सेवा वस्तुओं को कुछ इस तरह नाम देने की अपेक्षा करता हूं
release-a-application-a
release-a-redis
release-b-application-b
release-b-redis
एक आम परंपरा है कि वस्तुओं के नाम {{ .Release.Name }}
से शुरू होते हैं। , इसलिए दो रेडिस अलग हैं।
यह वास्तव में एक अपेक्षित सेटअप है। माइक्रोसर्विसेज के निर्माण का एक विशिष्ट नियम यह है कि प्रत्येक सेवा का अपना पृथक भंडारण होता है, और यह कि सेवाएं कभी भी एक दूसरे के साथ भंडारण साझा नहीं करती हैं। यह हेल्म पैटर्न इसका समर्थन करता है, और वास्तव में इस सेटअप के होने का कोई नुकसान नहीं है।
यदि आप वास्तव में चाहते हैं कि दो चार्ट एक ही रेडिस इंस्टॉलेशन को साझा करें, तो आप एक "अम्ब्रेला" चार्ट लिख सकते हैं जो अपने आप कुछ नहीं करता है, लेकिन दो एप्लिकेशन चार्ट पर निर्भर करता है। चार्ट में एक Chart.yaml
होगा फ़ाइल और (हेल्म 2 में) एक requirements.yaml
फ़ाइल जो दो अन्य चार्टों को संदर्भित करती है, लेकिन templates
. नहीं खुद की निर्देशिका। इससे हेल्म यह निष्कर्ष निकालेगा कि एक एकल रेडिस दोनों अनुप्रयोगों का समर्थन कर सकता है, और आप कुछ इस तरह से समाप्त कर देंगे
umbrella-application-a
umbrella-application-b
umbrella-redis
(मेरे अनुभव में आप आमतौर पर नहीं यह चाहते हैं - आप करते हैं प्रति एप्लिकेशन एक अलग रेडिस चाहते हैं - और इसलिए एक छत्र चार्ट का उपयोग करके कई इंस्टॉलेशन को प्रबंधित करने का प्रयास विशेष रूप से अच्छी तरह से काम नहीं करता है।)