लेबल्स और एनोटेशन (Labels and Annotations)
सर्वोत्तम प्रथाओं के मार्गदर्शिका का यह भाग आपके चार्ट में लेबल्स और एनोटेशन का उपयोग करने के लिए सर्वोत्तम प्रथाओं पर चर्चा करता है।
क्या यह एक लेबल है या एक एनोटेशन?
किसी मेटाडेटा आइटम को लेबल तब होना चाहिए जब निम्नलिखित स्थितियाँ हों:
- इसे Kubernetes द्वारा इस संसाधन की पहचान करने के लिए उपयोग किया जाता है
- यह ऑपरेटरों के लिए सिस्टम को क्वेरी करने के उद्देश्य से उपयोगी है।
उदाहरण के लिए, हम सुझाव देते हैं कि helm.sh/chart: NAME-VERSION
को एक लेबल के रूप में उपयोग किया जाए ताकि ऑपरेटर किसी विशेष चार्ट के सभी उदाहरणों को आसानी से ढूँढ़ सकें।
यदि मेटाडेटा का कोई आइटम क्वेरी करने के लिए उपयोग नहीं किया जाता है, तो इसे एनोटेशन के रूप में सेट किया जाना चाहिए।
Helm हुक्स हमेशा एनोटेशन होते हैं।
मानक लेबल्स
निम्नलिखित तालिका उन सामान्य लेबल्स को परिभाषित करती है जो Helm चार्ट्स उपयोग करते हैं। Helm स्वयं कभी भी यह आवश्यक नहीं मानता कि कोई विशेष लेबल मौजूद होना चाहिए। जो लेबल्स REC के रूप में चिह्नित हैं, वे अनुशंसित हैं, और उन्हें वैश्विक संगतता के लिए एक चार्ट पर रखा जाना चाहिए। जो लेबल्स OPT के रूप में चिह्नित हैं, वे वैकल्पिक हैं। ये आदर्श या सामान्य रूप से उपयोग में होते हैं, लेकिन संचालन उद्देश्यों के लिए अक्सर इन पर निर्भर नहीं रहते।
नाम | स्थिति | विवरण |
---|---|---|
app.kubernetes.io/name | REC | यह ऐप का नाम होना चाहिए, जो पूरे ऐप को दर्शाता है। सामान्यतः इसके लिए {{ template "name" . }} का उपयोग किया जाता है। इसे कई Kubernetes मैनिफेस्ट्स द्वारा उपयोग किया जाता है, और यह Helm-विशिष्ट नहीं है। |
helm.sh/chart | REC | यह चार्ट का नाम और संस्करण होना चाहिए: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} |
app.kubernetes.io/managed-by | REC | इसे हमेशा {{ .Release.Service }} पर सेट किया जाना चाहिए। यह Helm द्वारा प्रबंधित सभी चीज़ों को ढूँढ़ने के लिए होता है। |
app.kubernetes.io/instance | REC | यह {{ .Release.Name }} होना चाहिए। यह एक ही ऐप्लिकेशन के विभिन्न उदाहरणों के बीच अंतर करने में मदद करता है। |
app.kubernetes.io/version | OPT | ऐप का संस्करण और इसे {{ .Chart.AppVersion }} पर सेट किया जा सकता है। |
app.kubernetes.io/component | OPT | यह एक सामान्य लेबल है जो ऐप्लिकेशन के विभिन्न हिस्सों की भूमिकाओं को चिह्नित करने के लिए उपयोग किया जाता है। उदाहरण के लिए, app.kubernetes.io/component: frontend । |
app.kubernetes.io/part-of | OPT | जब एक से अधिक चार्ट्स या सॉफ़्टवेयर के टुकड़े मिलकर एक ऐप्लिकेशन बनाते हैं। उदाहरण के लिए, एप्लिकेशन सॉफ़्टवेयर और एक डेटाबेस मिलकर एक वेबसाइट बनाने के लिए। इसे उस शीर्ष स्तर के ऐप्लिकेशन के लिए सेट किया जा सकता है जिसे समर्थन प्राप्त है। |
आप app.kubernetes.io
से प्रारंभ होने वाले Kubernetes लेबल्स के बारे में अधिक जानकारी
Kubernetes प्रलेखन में पा सकते हैं।