Windows पर kubectl इंस्टॉल और सेटअप करें
शुरू करने से पहले
आप kubectl संस्करण का उपयोग करे जो आपके क्लस्टर के एक माइनर संस्करण भीतर हो। उदाहरण के लिए, v1.25 क्लाइंट v1.24, v1.25 और v1.26 कण्ट्रोल प्लेन के साथ कम्युनिकेट कर सकते हैं। kubectl के नए संस्करण का उपयोग करने से समस्या से बचत हो सकती है।
Windows पर kubectl इंस्टॉल करें
Windows पर kubectl संस्थापित करने के लिए निम्नलिखित विधियाँ मौजूद हैं:
- Windows पर curl के माध्यम से kubectl बाइनरी इंस्टॉल करें
- Chocolatey या Scoop का उपयोग करके Windows पर इंस्टॉल करें
Windows पर curl के माध्यम से kubectl बाइनरी इंस्टॉल करें
latest release v1.25.0 डाउनलोड करें।
या यदि आपके पास
curl
है, तो इस कमांड का उपयोग करें:curl -LO https://dl.k8s.io/release//bin/windows/amd64/kubectl.exe
टिप्पणी: नवीनतम स्थिर संस्करण का पता लगाने के लिए (जैसे, स्क्रिप्टिंग के लिए), https://dl.k8s.io/release/stable.txt पर एक नज़र डालें।बाइनरी को मान्य करें (वैकल्पिक)
kubectl चेकसम फाइल डाउनलोड करें:
curl -LO https://dl.k8s.io//bin/windows/amd64/kubectl.exe.sha256
चेकसम फ़ाइल से kubectl बाइनरी को मान्य करें:
मैन्युअल रूप से कमांड प्रॉम्प्ट का उपयोग करके
CertUtil
के आउटपुट की तुलना डाउनलोडेड चेकसम फ़ाइल से करें:CertUtil -hashfile kubectl.exe SHA256 type kubectl.exe.sha256
True
याFalse
परिणाम प्राप्त करने के लिए-eq
ऑपरेटर का उपयोग करके सत्यापन को ऑटोमेट करने के लिए powershell का उपयोग करें:$($(CertUtil -hashfile .\kubectl.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl.exe.sha256)
अपने
PATH
में बाइनरी जोड़ें।यह सुनिश्चित करने के लिए परीक्षण करें कि
kubectl
संस्करण डाउनलोड के समान है:kubectl version --client
kubectl
का अपना संस्करण PATH
में जोड़ता है।
यदि आपने पहले Docker Desktop स्थापित किया है, तो आपको Docker Desktop इंस्टॉलर द्वारा जोड़े गए एक PATH
से पहले अपनी PATH
प्रविष्टि डालने की आवश्यकता हो सकती है या Docker Desktop के kubectl
को हटा दें।Chocolatey या Scoop का उपयोग करके Windows पर इंस्टॉल करें
Windows पर kubectl इंस्टॉल करने के लिए आप या तो Chocolatey पैकेज मैनेजर अथवा Scoop कमांड-लाइन इंस्टॉलर का उपयोग कर सकते हैं।
choco install kubernetes-cli
scoop install kubectl
यह सुनिश्चित करने के लिए परीक्षण करें कि आपके द्वारा इंस्टॉल किया गया संस्करण उप-टू-डेट है:
kubectl version --client
अपनी होम डायरेक्टरी पर जाएं:
# यदि आप cmd.exe का प्रयोग कर रहे हैं, तो: cd %USERPROFILE% cd ~
.kube
डायरेक्टरी बनाएं:mkdir .kube
आपके द्वारा अभी बनाई गई
.kube
डायरेक्टरी में जाएं:cd .kube
दूरस्थ कुबेरनेट्स क्लस्टर का उपयोग करने के लिए kubectl को कॉन्फ़िगर करें:
New-Item config -type file
kubectl कॉन्फ़िगरेशन सत्यापित करें
kubectl को कुबेरनेट्स क्लस्टर को खोजने और एक्सेस करने के लिए, उसे
क्यूबकॉन्फिग फाइल(kubeconfig) की आवश्यकता होती है,
जो स्वचालित रूप से तब बनता है जब आप
kube-up.sh का उपयोग करके क्लस्टर बनाते हैं
या मिनीक्यूब क्लस्टर को सफलतापूर्वक डिप्लॉय करते हैं।
डिफ़ॉल्ट रूप से, kubectl कॉन्फ़िगरेशन ~/.kube/config
पर स्थित होता है।
जाँच करें कि क्लस्टर स्टेट प्राप्त करके kubectl को ठीक से कॉन्फ़िगर किया गया है:
kubectl cluster-info
यदि आपको एक URL प्रतिक्रिया दिखती हैं, तो kubectl आपके क्लस्टर तक पहुँचने के लिए सही ढंग से कॉन्फ़िगर हुआ है।
यदि आपको निम्नलिखित संदेश दिखाई देता है, तो kubectl ठीक से कॉन्फ़िगर नहीं हुआ है या कुबेरनेट्स क्लस्टर से कनेक्ट करने में सक्षम नहीं है।
The connection to the server <server-name:port> was refused - did you specify the right host or port?
उदाहरण के लिए, यदि आप अपने लैपटॉप (स्थानीय रूप से) पर कुबेरनेट्स क्लस्टर चलाना चाहते हैं, तो आपको पहले मिनीक्यूब (minikube) जैसे टूल को इंस्टॉल करना होगा और ऊपर बताए गए कमांड को फिर से चलाना होगा।
यदि kubectl cluster-info URL प्रतिक्रिया देता है, लेकिन आप अपने क्लस्टर को एक्सेस नहीं कर पा रहें हैं, तो यह जाँचने के लिए कि क्या यह ठीक से कॉन्फ़िगर किया गया है, इस कमांड का उपयोग करें:
kubectl cluster-info dump
वैकल्पिक kubectl कॉन्फ़िगरेशन और प्लगइन्स
शेल ऑटोकम्प्लेशन सक्षम करें
kubectl Bash और Zsh के लिए ऑटोकम्प्लेशन का सपोर्ट प्रदान करता है, जो आपको बहुत सारी टाइपिंग बचा सकता है।
नीचे Zsh के लिए ऑटोकम्प्लेशन स्थापित करने की प्रक्रियाएँ हैं, यदि आप इसे Windows पर चला रहे हैं।
Zsh के लिए kubectl कम्पलीशन स्क्रिप्ट kubectl completion zsh
कमांड के साथ उत्पन्न की जा सकती है। आपके शेल में कम्पलीशन स्क्रिप्ट को सोर्स करने से kubectl ऑटो-कम्पलीशन सक्षम हो जाती है।
अपने सभी शेल सत्रों में ऐसा करने के लिए, निम्नलिखित को अपनी ~/.zshrc
फ़ाइल में जोड़ें:
source <(kubectl completion zsh)
यदि आपके पास kubectl के लिए एक उपनाम है, तो आप उस उपनाम के साथ काम करने के लिए शेल कम्पलीशन को बढ़ा सकते हैं:
echo 'alias k=kubectl' >>~/.zshrc
echo 'complete -F __start_kubectl k' >>~/.zshrc
अपने शेल को पुनः लोड करने के बाद, kubectl ऑटो-कम्पलीशन कार्य करना चाहिए।
यदि आपको कोई त्रुटि मिलती है जैसे complete:13: command not found: compdef
, तो अपनी ~/.zshrc
फ़ाइल की शुरुआत में निम्नलिखित जोड़ें:
autoload -Uz compinit
compinit
इंस्टॉल kubectl convert
प्लगइन
कुबेरनेट्स कमांड-लाइन टूल kubectl
के लिए एक प्लगइन, जो आपको विभिन्न API संस्करण के बीच मैनिफ़ेस्ट को बदलने करने की अनुमति देता है।
यह विशेष रूप से नए कुबेरनेट्स रिलीज के साथ एक गैर-बहिष्कृत API संस्करण में मैनिफेस्ट को माइग्रेट करने में सहायक हो सकता है।
अधिक जानकारी के लिए, गैर पदावनत एपिस में विस्थापित करें पर जाएं।
इस कमांड से नवीनतम रिलीज डाउनलोड करें:
curl -LO https://dl.k8s.io/release//bin/windows/amd64/kubectl-convert.exe
बाइनरी को मान्य करें (वैकल्पिक)
kubectl-convert चेकसम फ़ाइल डाउनलोड करें:
curl -LO https://dl.k8s.io//bin/windows/amd64/kubectl-convert.exe.sha256
चेकसम फ़ाइल से kubectl-convert बाइनरी को मान्य करें:
मैन्युअल रूप से कमांड प्रॉम्प्ट का उपयोग करके
CertUtil
के आउटपुट की तुलना डाउनलोड किये गये चेकसम फ़ाइल से करें:CertUtil -hashfile kubectl-convert.exe SHA256 type kubectl-convert.exe.sha256
True
याFalse
परिणाम प्राप्त करने और-eq
ऑपरेटर का उपयोग करके सत्यापन को ऑटोमेट करने के लिए Powershell का उपयोग करें:$($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
अपने
PATH
में बाइनरी जोड़ें।सत्यापित करें कि प्लगइन सफलतापूर्वक इंस्टॉल हो गया है।
kubectl convert --help
यदि आपको कोई त्रुटि नहीं दिखाई देती है, तो इसका मतलब है कि प्लगइन सफलतापूर्वक इंस्टॉल हो गया है।
आगे क्या है
- मिनीक्यूब (Minikube) इंस्टॉल करें
- क्लस्टर बनाने के बारे में अधिक जानकारी के लिए आरंभ करने की मार्गदर्शिका देखें।
- अपने एप्लिकेशन को लॉन्च और एक्सपोज़ करने का तरीका जानें।
- यदि आपको किसी ऐसे क्लस्टर को उपयोग करने की आवश्यकता है जिसे आपने नहीं बनाया है, तो क्लस्टर एक्सेस दस्तावेज़ साझा करना देखें।
- kubectl संदर्भ प्रलेखन पढ़ें।