चरण 1: कुबेरनेट्स सर्वर प्रारंभ करें
इस चरण में, हम कुबेरनेट्स सर्वर चलाते हैं जो मिनीक्यूब है जिसमें एक कंटेनर में पॉड्स होते हैं। हम निम्न आदेश चलाकर मिनीक्यूब क्लस्टर चला सकते हैं:
~ $ मिनिक्यूब शुरू करेंजब आदेश निष्पादित किया जाता है, तो मिनीक्यूब स्थानीय क्लस्टर हमारे आवेदन में चलता है।
मिनिक्यूब स्थानीय रूप से सुलभ वर्चुअल मशीन बनाने के लिए वर्चुअलबॉक्स का उपयोग करता है। हम कुबेरनेट्स क्लस्टर्स में अपनी कमांड या सेवाओं को जल्दी से तैनात कर सकते हैं। उसके बाद, हम मिनिक्यूब कुबेरनेट्स क्लस्टर का उपयोग करके स्थानीय रूप से उनका परीक्षण करते हैं।
चरण 2: क्लस्टर में छवियों के साथ सभी पॉड की सूची देखें
इन सभी आदेशों को चलाने के लिए, Kubectl को आपके स्थानीय सिस्टम पर स्थापित किया जाना चाहिए। इस चरण में, हम सीखेंगे कि क्लस्टर में पॉड्स द्वारा उपयोग की जाने वाली छवियों की सूची कैसे देखें और हमारे कंटेनर में संग्रहीत हैं। संग्रहीत छवियों की सूची प्राप्त करने के लिए हम अपने Kubectl कमांड-लाइन टूल में निम्न आदेश चला सकते हैं।
~$ कुबेक्टल पॉड्स प्राप्त करें --all-namespaces -ओ jsonpath = '{रेंज .items[]}{'\n'}{.metadata.name}{':\t'}{range .spec.containers[]}{.image}{', '}{end}{end }' | \> क्रम से लगाना
जब आदेश निष्पादित किया जाता है, तो आउटपुट निम्न स्क्रीनशॉट में दिखाई देता है:
यह आदेश क्लस्टर में मौजूद पॉड्स की सूची प्राप्त करता है और फिर इस पथ में पाई जाने वाली सभी छवियों को प्राप्त करता है। छवियों के पाए जाने के बाद, आदेश इन छवियों को वर्णानुक्रम में क्रमबद्ध करता है। अंत में, यह हमारे क्लस्टर में मौजूद छवियों की संख्या को गिनता है। यह आदेश JSON पथ स्वरूप में आउटपुट देता है। आइए एक-एक करके कमांड के हिस्सों पर चर्चा करें:
- सभी नामस्थान: हम अपने कुबेरनेट्स क्लस्टर में सभी नामस्थानों में पॉड्स की सूची आसानी से प्राप्त कर सकते हैं। यहां, फली की सभी छवियां घोषित की गई हैं।
- ओ जेसनपथ = ': यह पैरामीटर आउटपुट का प्रारूप देता है। JSON पथ प्रारूप दिए गए कमांड के अनुसार है और पॉड नाम और कंटेनर छवियों के साथ-साथ आउटपुट स्वरूप प्रदर्शित करता है। सूची टैब से अलग होती है, और प्रत्येक पॉड को एक नई लाइन डालकर अलग किया जाता है।
|: जैसा कि आप देख सकते हैं, आदेश '|' को नियोजित करते हैं चरित्र। इसका उपयोग आउटपुट को पासिंग कमांड में स्थानांतरित करने के लिए किया जाता है।
क्रम से लगाना: यह पैरामीटर छवियों को एक विशिष्ट क्रम में क्रमबद्ध करता है।
यह कमांड की पूरी व्याख्या है। उम्मीद है, आप इस कमांड के उद्देश्य को समझ गए होंगे। जैसा कि हम स्क्रीनशॉट में देख सकते हैं, पॉड और छवियों की सूची अल्पविराम द्वारा प्रदर्शित और अलग की गई है।
चरण 3: विशिष्ट पॉड के लिए छवियों की सूची प्राप्त करें
इस चरण में, हम केवल विशिष्ट पॉड छवियों की पुनर्प्राप्ति के बारे में जानेंगे। इस उद्देश्य के लिए, हम फिर से कमांड चलाते हैं जो JSON पथ में पॉड के नाम को निर्दिष्ट करता है। किसी विशिष्ट पॉड की छवियों को प्राप्त करने के लिए निम्न कमांड चलाएँ।
~ $ कुबेक्टल पॉड्स प्राप्त करें --all-namespaces -ओ jsonpath = '{.items[].spec.containers[].image}' -एल अनुप्रयोग =nginxइस कमांड में हम “app=ngnix” नाम का एक पॉड लेते हैं।
जब कमांड निष्पादित किया जाता है, तो JSON पथ आउटपुट स्वरूप उन सभी कंटेनर छवियों की सूची प्रदर्शित करता है, जिनका उपयोग पॉड द्वारा किया जाता है, जिसका नाम 'app-ngnix' है।
इस तरह, हम अपने कुबेरनेट्स एप्लिकेशन में सभी नामस्थानों में विशिष्ट पॉड द्वारा उपयोग की जाने वाली छवियों की एक सूची प्राप्त कर सकते हैं।
चरण 4: क्लस्टर में एक विशिष्ट नामस्थान में छवियों की सूची प्राप्त करें
यह हमारे लेख का चौथा चरण है जहाँ हम सीखते हैं कि हम अपने कुबेरनेट्स क्लस्टर में एक विशिष्ट नाम स्थान के विरुद्ध छवियों की सूची कैसे प्राप्त कर सकते हैं। हम अपने Kubectl कमांड-लाइन टूल में निम्न कमांड चलाते हैं:
~ $ कुबेक्टल पॉड्स प्राप्त करें --नेमस्पेस एक प्रणाली हो -ओ jsonpath = '{.items[].spec.containers[].image}'इस आदेश में, हम उस नामस्थान की छवियों को पुनः प्राप्त करना चाहते हैं जिसका नाम 'क्यूब-सिस्टम' है जिसका उपयोग हमारे कुबेरनेट्स क्लस्टर में पॉड्स द्वारा किया जाता है।
छवियों की एक सूची आउटपुट में प्रदर्शित होती है जो कमांड निष्पादित होने पर उत्पन्न होती है। यहाँ स्क्रीनशॉट है:
कमांड चलाकर आउटपुट का JSON पथ प्रारूप आसानी से प्राप्त किया जाता है। आउटपुट में प्रत्येक पंक्ति एक कंटेनर छवि तक पहुंचती है जिसका उपयोग 'क्यूब-सिस्टम' नामस्थान में एक फली द्वारा किया जाता है। आउटपुट का स्वरूप JSON पाथ टेम्प्लेट द्वारा दिखाया जाता है जिसका उपयोग कमांड में किया जाता है। इस उदाहरण में, '.items[].spec.containers [].image' टेम्पलेट नामस्थान में प्रत्येक पॉड द्वारा उपयोग की जाने वाली कंटेनर छवि लौटाता है।
चरण 5: गो टेम्पलेट के सभी नामस्थानों की छवियों की सूची प्राप्त करें
इस चरण में, हम कुबेरनेट्स क्लस्टर में 'गो टेम्प्लेट' आउटपुट स्वरूप का उपयोग करने वाले पॉड्स द्वारा उपयोग किए जाने वाले सभी नामस्थानों की छवियों की सूची लाने की प्रक्रिया सीखेंगे। इसके लिए हम निम्नलिखित कमांड का उपयोग करते हैं:
~ $ कुबेक्टल पॉड्स प्राप्त करें --all-namespaces -ओ go-template --टेम्प्लेट = '{{रेंज .ite ms}}{{रेंज .spec.containers}}{{.image}} {{end}}{{end}}'आउटपुट पर जाने से पहले, आइए पहले कमांड के पैरामीटर्स पर चर्चा करें ताकि आपको अंदाजा हो कि हम अपने कमांड में विभिन्न पैरामीटर्स का उपयोग कैसे कर सकते हैं। हम नए मापदंडों से शुरू कर सकते हैं जिन पर पहले चर्चा नहीं की गई है:
-ओ गो-टेम्प्लेट: इससे पता चलता है कि आउटपुट स्वरूप 'गो-टेम्प्लेट' नोटेशन के अनुसार होना चाहिए।
– -टेम्प्लेट =”{{रेंज. आइटम्स}} {{श्रेणी। spec.containers}}{{.image}} {{end}}{{end}}”: यह आउटपुट के लिए उपयोग किए जाने वाले टेम्पलेट प्रदान करता है। यह टेम्प्लेट पॉड्स की सूची के माध्यम से पुनरावृत्त करता है जो प्रत्येक के लिए कंटेनर छवि को पुनः प्राप्त करता है। परिणाम क्लस्टर में सभी नामस्थानों में सभी पॉड्स द्वारा उपयोग की जाने वाली कंटेनर छवियों की एक अंतरिक्ष-पृथक सूची है।
पिछले आदेश के निष्पादन पर, आपको निम्न आउटपुट मिलता है:
ये सभी चरण हैं जिनके माध्यम से हम अपने कुबेरनेट्स कंटेनर में पॉड्स द्वारा उपयोग की जाने वाली छवियों की सूची प्राप्त कर सकते हैं।
निष्कर्ष
हम यह निष्कर्ष निकालते हैं कि हम अपने कुबेरनेट्स एप्लिकेशन में कंटेनर में संग्रहीत छवियों की सूची को कुबेक्टल कमांड लाइन टूल की सहायता से आसानी से प्राप्त कर सकते हैं। कुबेरनेट्स में, हम विभिन्न तरीकों से छवियों की सूची प्राप्त कर सकते हैं। दिए गए चरणों में हर विधि को स्पष्ट रूप से समझाया गया है। '-ऑल नेमस्पेस' विकल्प उन सभी नामस्थानों की छवियां प्राप्त करता है जो पॉड द्वारा उपयोग किए जाते हैं जो कंटेनर में संग्रहीत होते हैं और कमांड चलाकर प्राप्त करना आसान होता है। आप kubectl कमांड लाइन टूल में कमांड चलाकर छवियों की सूची प्राप्त करने के लिए अपने एप्लिकेशन के लिए सभी चरणों का पालन कर सकते हैं।