कुबेरनेट्स डैशबोर्ड को परिनियोजित और एक्सेस करें
डैशबोर्ड एक वेब-आधारित कुबेरनेट्स उपयोगकर्ता इंटरफ़ेस है। आप डैशबोर्ड का उपयोग करके कुबेरनेट्स क्लस्टर पर कंटेनरीकृत अनुप्रयोगों को परिनियोजित कर सकते हैं, अपने कंटेनरीकृत अनुप्रयोग का समस्या निवारण कर सकते हैं, और क्लस्टर संसाधनों का प्रबंधन कर सकते हैं। आप डैशबोर्ड का उपयोग करके अपने क्लस्टर पर चल रहे अनुप्रयोगों का अवलोकन प्राप्त कर सकते हैं, साथ ही व्यक्तिगत कुबेरनेट्स संसाधनों (जैसे कि Deployments, Jobs, DaemonSets, आदि) को बनाने या संशोधित करने के लिए भी। उदाहरण के लिए, आप एक परिनियोजन को स्केल कर सकते हैं, एक रोलिंग अपडेट शुरू कर सकते हैं, एक पॉड को पुनरारंभ कर सकते हैं, या एक नया अनुप्रयोग परिनियोजित कर सकते हैं।
डैशबोर्ड आपके क्लस्टर में कुबेरनेट्स संसाधनों की स्थिति और किसी भी त्रुटियों की जानकारी भी प्रदान करता है।
डैशबोर्ड UI को परिनियोजित करना
टिप्पणी:
कुबेरनेट्स डैशबोर्ड वर्तमान में केवल Helm-आधारित स्थापना का समर्थन करता है क्योंकि यह तेज़ है और डैशबोर्ड को चलाने के लिए आवश्यक सभी निर्भरताओं पर बेहतर नियंत्रण प्रदान करता है।डैशबोर्ड UI डिफ़ॉल्ट रूप से परिनियोजित नहीं होता है। इसे परिनियोजित करने के लिए, निम्नलिखित कमांड चलाएं:
# कुबेरनेट्स-dashboard रिपॉजिटरी जोड़ें
helm repo add कुबेरनेट्स-dashboard https://कुबेरनेट्स.github.io/dashboard/
# कुबेरनेट्स-dashboard चार्ट का उपयोग करके "कुबेरनेट्स-dashboard" नामक एक Helm रिलीज़ परिनियोजित करें
helm upgrade --install कुबेरनेट्स-dashboard कुबेरनेट्स-dashboard/कुबेरनेट्स-dashboard --create-namespace --namespace कुबेरनेट्स-dashboard
डैशबोर्ड UI को एक्सेस करना
अपने क्लस्टर डेटा की सुरक्षा के लिए, डैशबोर्ड डिफ़ॉल्ट रूप से न्यूनतम RBAC कॉन्फ़िगरेशन के साथ परिनियोजित होता है। वर्तमान में, डैशबोर्ड केवल Bearer Token के साथ लॉग इन करने का समर्थन करता है। इस डेमो के लिए एक टोकन बनाने के लिए, आप हमारे गाइड का अनुसरण कर सकते हैं नमूना उपयोगकर्ता बनाने पर।
चेतावनी:
ट्यूटोरियल में बनाया गया नमूना उपयोगकर्ता प्रशासनिक विशेषाधिकारों के साथ होगा और केवल शैक्षिक उद्देश्यों के लिए है।कमांड लाइन प्रॉक्सी
आप kubectl
कमांड-लाइन टूल का उपयोग करके डैशबोर्ड तक पहुंच सक्षम कर सकते हैं,
निम्नलिखित कमांड चलाकर:
kubectl -n कुबेरनेट्स-dashboard port-forward svc/कुबेरनेट्स-dashboard-kong-proxy 8443:443
Kubectl डैशबोर्ड को https://localhost:8443 पर उपलब्ध कराएगा।
UI केवल उस मशीन से एक्सेस किया जा सकता है जहां कमांड निष्पादित किया गया है।
अधिक विकल्पों के लिए kubectl port-forward --help
देखें।
टिप्पणी:
kubeconfig प्रमाणीकरण विधि बाहरी पहचान प्रदाताओं या X.509 प्रमाणपत्र-आधारित प्रमाणीकरण का समर्थन नहीं करती है।स्वागत दृश्य
जब आप डैशबोर्ड को एक खाली क्लस्टर पर एक्सेस करते हैं, तो आपको स्वागत पृष्ठ दिखाई देगा।
यह पृष्ठ इस दस्तावेज़ के लिए एक लिंक और अपना पहला अनुप्रयोग परिनियोजित करने के लिए एक बटन प्रदान करता है।
इसके अलावा, आप यह देख सकते हैं कि आपके क्लस्टर के kube-system
नेमस्पेस में कौन-कौन से सिस्टम अनुप्रयोग डिफ़ॉल्ट रूप से चल रहे हैं,
जैसे कि स्वयं डैशबोर्ड।
कंटेनरीकृत अनुप्रयोगों को परिनियोजित करना
डैशबोर्ड आपको एक सरल विज़ार्ड के साथ एक कंटेनरीकृत अनुप्रयोग को एक परिनियोजन और वैकल्पिक सेवा के रूप में बनाने और परिनियोजित करने की अनुमति देता है। आप या तो मैन्युअल रूप से अनुप्रयोग विवरण निर्दिष्ट कर सकते हैं, या अनुप्रयोग कॉन्फ़िगरेशन वाले YAML या JSON मैनिफेस्ट फ़ाइल को अपलोड कर सकते हैं।
किसी भी पृष्ठ के ऊपरी दाएं कोने में CREATE बटन पर क्लिक करें।
अनुप्रयोग विवरण निर्दिष्ट करना
परिनियोजन विज़ार्ड अपेक्षा करता है कि आप निम्नलिखित जानकारी प्रदान करें:
-
ऐप नाम (अनिवार्य): आपके अनुप्रयोग के लिए नाम। एक लेबल नाम के साथ परिनियोजन और सेवा (यदि कोई हो) में जोड़ा जाएगा।
अनुप्रयोग का नाम चयनित कुबेरनेट्स नेमस्पेस के भीतर अद्वितीय होना चाहिए। यह एक लोअरकेस वर्ण से शुरू होना चाहिए, और एक लोअरकेस वर्ण या संख्या के साथ समाप्त होना चाहिए, और केवल लोअरकेस अक्षरों, संख्याओं और डैश (-) को शामिल करना चाहिए। यह 24 वर्णों तक सीमित है। अग्रणी और अंतिम स्थानों को अनदेखा किया जाता है।
-
कंटेनर इमेज (अनिवार्य): किसी भी रजिस्ट्री पर एक सार्वजनिक Docker कंटेनर इमेज का URL, या एक निजी इमेज (आमतौर पर Google कंटेनर रजिस्ट्री या Docker हब पर होस्ट की गई)। कंटेनर इमेज विनिर्देश को कॉलन के साथ समाप्त होना चाहिए।
-
पॉड्स की संख्या (अनिवार्य): आपके अनुप्रयोग को परिनियोजित करने के लिए लक्षित पॉड्स की संख्या। मान एक सकारात्मक पूर्णांक होना चाहिए।
एक परिनियोजन बनाया जाएगा जो आपके क्लस्टर में वांछित पॉड्स की संख्या बनाए रखेगा।
-
सेवा (वैकल्पिक): आपके अनुप्रयोग के कुछ भागों (जैसे फ्रंटएंड्स) के लिए आप एक सेवा को बाहरी, शायद सार्वजनिक IP पते पर अपने क्लस्टर के बाहर (बाहरी सेवा) पर उजागर करना चाह सकते हैं।
टिप्पणी:
बाहरी सेवाओं के लिए, आपको ऐसा करने के लिए एक या अधिक पोर्ट खोलने की आवश्यकता हो सकती है।अन्य सेवाएं जो केवल क्लस्टर के अंदर से दिखाई देती हैं, उन्हें आंतरिक सेवाएं कहा जाता है।
सेवा के प्रकार की परवाह किए बिना, यदि आप एक सेवा बनाना चुनते हैं और आपका कंटेनर एक पोर्ट (इनकमिंग) पर सुनता है, तो आपको दो पोर्ट निर्दिष्ट करने की आवश्यकता है। सेवा पोर्ट (इनकमिंग) को कंटेनर द्वारा देखे गए लक्ष्य पोर्ट पर मैप करेगी। यह सेवा आपके परिनियोजित पॉड्स को रूट करेगी। समर्थित प्रोटोकॉल TCP और UDP हैं। इस सेवा के लिए आंतरिक DNS नाम वह मान होगा जिसे आपने ऊपर अनुप्रयोग नाम के रूप में निर्दिष्ट किया है।
यदि आवश्यक हो, तो आप उन्नत विकल्प अनुभाग का विस्तार कर सकते हैं जहां आप अधिक सेटिंग्स निर्दिष्ट कर सकते हैं:
-
विवरण: यहां आप जो पाठ दर्ज करते हैं, वह एक एनोटेशन के रूप में परिनियोजन में जोड़ा जाएगा और अनुप्रयोग के विवरण में प्रदर्शित किया जाएगा।
-
लेबल्स: आपके अनुप्रयोग के लिए उपयोग किए जाने वाले डिफ़ॉल्ट लेबल्स अनुप्रयोग का नाम और संस्करण हैं। आप परिनियोजन, सेवा (यदि कोई हो), और पॉड्स पर लागू होने के लिए अतिरिक्त लेबल निर्दिष्ट कर सकते हैं, जैसे रिलीज़, पर्यावरण, टियर, विभाजन, और रिलीज़ ट्रैक।
उदाहरण:
release=1.0 tier=frontend environment=pod track=stable
-
नेमस्पेस: कुबेरनेट्स एक ही भौतिक क्लस्टर द्वारा समर्थित कई वर्चुअल क्लस्टर का समर्थन करता है। इन वर्चुअल क्लस्टर्स को नेमस्पेस कहा जाता है। वे आपको संसाधनों को तार्किक रूप से नामित समूहों में विभाजित करने देते हैं।
डैशबोर्ड एक ड्रॉपडाउन सूची में सभी उपलब्ध नेमस्पेस प्रदान करता है, और आपको एक नया नेमस्पेस बनाने की अनुमति देता है। नेमस्पेस नाम में अधिकतम 63 अल्फ़ान्यूमेरिक वर्ण और डैश (-) हो सकते हैं लेकिन इसमें बड़े अक्षर नहीं हो सकते। नेमस्पेस नाम केवल संख्याओं से नहीं बनना चाहिए। यदि नाम को एक संख्या के रूप में सेट किया गया है, जैसे 10, तो पॉड को डिफ़ॉल्ट नेमस्पेस में रखा जाएगा।
यदि नेमस्पेस का निर्माण सफल होता है, तो इसे डिफ़ॉल्ट रूप से चुना जाता है। यदि निर्माण विफल होता है, तो पहला नेमस्पेस चुना जाता है।
-
इमेज पुल सीक्रेट:
यदि निर्दिष्ट Docker कंटेनर इमेज प्राइवेट है, तो इसे पुल सीक्रेट क्रेडेंशियल्स की आवश्यकता हो सकती है।डैशबोर्ड एक ड्रॉपडाउन सूची में सभी उपलब्ध सीक्रेट्स प्रदान करता है, और आपको एक नया सीक्रेट बनाने की अनुमति देता है। सीक्रेट का नाम DNS डोमेन नाम सिंटैक्स का पालन करना चाहिए, उदाहरण के लिए
new.image-pull.secret
। सीक्रेट की सामग्री base64-एनकोडेड होनी चाहिए और.dockercfg
फ़ाइल में निर्दिष्ट होनी चाहिए। सीक्रेट का नाम अधिकतम 253 वर्णों का हो सकता है।यदि इमेज पुल सीक्रेट का निर्माण सफल होता है, तो यह डिफ़ॉल्ट रूप से चयनित होता है। यदि निर्माण विफल होता है, तो कोई सीक्रेट लागू नहीं होता है।
-
CPU आवश्यकता (कोर) और मेमोरी आवश्यकता (MiB): आप कंटेनर के लिए न्यूनतम रिसोर्स लिमिट्स निर्दिष्ट कर सकते हैं। डिफ़ॉल्ट रूप से, पॉड्स असीमित CPU और मेमोरी लिमिट्स के साथ चलते हैं।
-
रन कमांड और रन कमांड आर्ग्युमेंट्स: डिफ़ॉल्ट रूप से, आपके कंटेनर्स निर्दिष्ट Docker इमेज के डिफ़ॉल्ट एंट्रीपॉइंट कमांड को चलाते हैं। आप डिफ़ॉल्ट को ओवरराइड करने के लिए कमांड विकल्पों और आर्ग्युमेंट्स का उपयोग कर सकते हैं।
-
प्रिविलेज्ड के रूप में चलाएं: यह सेटिंग निर्धारित करती है कि क्या प्रिविलेज्ड कंटेनर्स में प्रक्रियाएं होस्ट पर रूट के रूप में चलने वाली प्रक्रियाओं के समान हैं। प्रिविलेज्ड कंटेनर्स नेटवर्क स्टैक में हेरफेर करने और डिवाइसेस तक पहुंचने जैसी क्षमताओं का उपयोग कर सकते हैं।
-
एनवायरनमेंट वेरिएबल्स: कुबेरनेट्स एनवायरनमेंट वेरिएबल्स के माध्यम से सर्विसेज को एक्सपोज करता है। आप एनवायरनमेंट वेरिएबल्स के मान का उपयोग करके एनवायरनमेंट वेरिएबल बना सकते हैं या अपने कमांड्स को आर्ग्युमेंट्स पास कर सकते हैं। इनका उपयोग एप्लिकेशन में सर्विस खोजने के लिए किया जा सकता है। मान
$(VAR_NAME)
सिंटैक्स का उपयोग करके अन्य वेरिएबल्स को संदर्भित कर सकते हैं।
YAML या JSON फ़ाइल अपलोड करना
कुबेरनेट्स घोषणात्मक कॉन्फ़िगरेशन का समर्थन करता है। इस शैली में, सभी कॉन्फ़िगरेशन मैनिफेस्ट (YAML या JSON कॉन्फ़िगरेशन फ़ाइलें) में संग्रहीत की जाती हैं। मैनिफेस्ट कुबेरनेट्स API रिसोर्स स्कीमा का उपयोग करते हैं।
डिप्लॉय विज़ार्ड में एप्लिकेशन विवरण निर्दिष्ट करने के विकल्प के रूप में, आप एक या अधिक मैनिफेस्ट में अपना एप्लिकेशन परिभाषित कर सकते हैं, और डैशबोर्ड का उपयोग करके फ़ाइलें अपलोड कर सकते हैं।
डैशबोर्ड का उपयोग करना
निम्नलिखित खंड कुबेरनेट्स डैशबोर्ड UI के व्यू का वर्णन करते हैं; वे क्या प्रदान करते हैं और कैसे उपयोग किए जा सकते हैं।
नेविगेशन
जब क्लस्टर में कुबेरनेट्स ऑब्जेक्ट्स परिभाषित होते हैं, तो डैशबोर्ड उन्हें प्रारंभिक व्यू में दिखाता है। डिफ़ॉल्ट रूप से केवल default नेमस्पेस के ऑब्जेक्ट्स दिखाए जाते हैं और इसे नेविगेशन मेनू में स्थित नेमस्पेस सेलेक्टर का उपयोग करके बदला जा सकता है।
डैशबोर्ड अधिकांश कुबेरनेट्स ऑब्जेक्ट प्रकारों को दिखाता है और उन्हें कुछ मेनू श्रेणियों में समूहित करता है।
एडमिन ओवरव्यू
क्लस्टर और नेमस्पेस प्रशासकों के लिए, डैशबोर्ड नोड्स, नेमस्पेस और PersistentVolumes को सूचीबद्ध करता है और उनके लिए विस्तृत व्यू प्रदान करता है। नोड सूची व्यू में सभी नोड्स में एकत्रित CPU और मेमोरी उपयोग मेट्रिक्स शामिल हैं। विस्तृत व्यू एक नोड के लिए मेट्रिक्स, उसकी विशिष्टता, स्थिति, आवंटित संसाधन, घटनाएं और नोड पर चल रहे पॉड्स दिखाता है।
वर्कलोड्स
चयनित नेमस्पेस में चल रहे सभी एप्लिकेशन दिखाता है। यह व्यू वर्कलोड प्रकार के अनुसार एप्लिकेशन को सूचीबद्ध करता है (उदाहरण के लिए: Deployments, ReplicaSets, StatefulSets)। प्रत्येक वर्कलोड प्रकार को अलग से देखा जा सकता है। सूचियां वर्कलोड्स के बारे में कार्रवाई योग्य जानकारी को संक्षेपित करती हैं, जैसे ReplicaSet के लिए तैयार पॉड्स की संख्या या पॉड के लिए वर्तमान मेमोरी उपयोग।
वर्कलोड्स के विस्तृत व्यू स्थिति और विशिष्टता जानकारी दिखाते हैं और ऑब्जेक्ट्स के बीच संबंधों को प्रकट करते हैं। उदाहरण के लिए, ReplicaSet द्वारा नियंत्रित पॉड्स या Deployments के लिए नए ReplicaSets और HorizontalPodAutoscalers।
सर्विसेज
कुबेरनेट्स रिसोर्सेज दिखाता है जो बाहरी दुनिया के लिए सर्विसेज को एक्सपोज करने और क्लस्टर के भीतर उन्हें खोजने की अनुमति देते हैं। इस कारण से, Service और Ingress व्यू उनके द्वारा लक्षित पॉड्स, क्लस्टर कनेक्शन के लिए आंतरिक एंडपॉइंट्स और बाहरी उपयोगकर्ताओं के लिए बाहरी एंडपॉइंट्स दिखाते हैं।
स्टोरेज
स्टोरेज व्यू PersistentVolumeClaim रिसोर्सेज दिखाता है जिनका उपयोग एप्लिकेशन द्वारा डेटा स्टोर करने के लिए किया जाता है।
ConfigMaps और Secrets
सभी कुबेरनेट्स रिसोर्सेज दिखाता है जिनका उपयोग क्लस्टर में चल रहे एप्लिकेशन के लाइव कॉन्फ़िगरेशन के लिए किया जाता है। यह व्यू कॉन्फ़िग ऑब्जेक्ट्स को संपादित करने और प्रबंधित करने की अनुमति देता है और डिफ़ॉल्ट रूप से छिपे हुए सीक्रेट्स को प्रदर्शित करता है।
लॉग्स व्यूअर
पॉड सूचियां और विस्तृत पेज एक लॉग्स व्यूअर से लिंक करते हैं जो डैशबोर्ड में बिल्ट-इन है। व्यूअर एक पॉड से संबंधित कंटेनर्स के लॉग्स को विस्तार से देखने की अनुमति देता है।
आगे क्या है
अधिक जानकारी के लिए, कुबेरनेट्स डैशबोर्ड प्रोजेक्ट पेज देखें।