Windows पर kubectl इंस्टॉल और सेटअप करें

शुरू करने से पहले

आप kubectl संस्करण का उपयोग करे जो आपके क्लस्टर के एक माइनर संस्करण भीतर हो। उदाहरण के लिए, v1.26 क्लाइंट v1.25, v1.26 और v1.27 कण्ट्रोल प्लेन के साथ कम्युनिकेट कर सकते हैं। kubectl के नए संस्करण का उपयोग करने से समस्या से बचत हो सकती है।

Windows पर kubectl इंस्टॉल करें

Windows पर kubectl संस्थापित करने के लिए निम्नलिखित विधियाँ मौजूद हैं:

Windows पर curl के माध्यम से kubectl बाइनरी इंस्टॉल करें

  1. latest release v1.26.0 डाउनलोड करें।

    या यदि आपके पास curl है, तो इस कमांड का उपयोग करें:

    curl -LO https://dl.k8s.io/release//bin/windows/amd64/kubectl.exe
    
  2. बाइनरी को मान्य करें (वैकल्पिक)

    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)
      
  3. अपने PATH में बाइनरी जोड़ें।

  4. यह सुनिश्चित करने के लिए परीक्षण करें कि kubectl संस्करण डाउनलोड के समान है:

    kubectl version --client
    

Chocolatey या Scoop का उपयोग करके Windows पर इंस्टॉल करें

  1. Windows पर kubectl इंस्टॉल करने के लिए आप या तो Chocolatey पैकेज मैनेजर अथवा Scoop कमांड-लाइन इंस्टॉलर का उपयोग कर सकते हैं।

    choco install kubernetes-cli
    

    scoop install kubectl
    
  2. यह सुनिश्चित करने के लिए परीक्षण करें कि आपके द्वारा इंस्टॉल किया गया संस्करण उप-टू-डेट है:

    kubectl version --client
    
  3. अपनी होम डायरेक्टरी पर जाएं:

    # यदि आप cmd.exe का प्रयोग कर रहे हैं, तो: cd %USERPROFILE%
    cd ~
    
  4. .kube डायरेक्टरी बनाएं:

    mkdir .kube
    
  5. आपके द्वारा अभी बनाई गई .kube डायरेक्टरी में जाएं:

    cd .kube
    
  6. दूरस्थ कुबेरनेट्स क्लस्टर का उपयोग करने के लिए 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 संस्करण में मैनिफेस्ट को माइग्रेट करने में सहायक हो सकता है। अधिक जानकारी के लिए, गैर पदावनत एपिस में विस्थापित करें पर जाएं।

  1. इस कमांड से नवीनतम रिलीज डाउनलोड करें:

    curl -LO https://dl.k8s.io/release//bin/windows/amd64/kubectl-convert.exe
    
  2. बाइनरी को मान्य करें (वैकल्पिक)

    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)
      
  3. अपने PATH में बाइनरी जोड़ें।

  4. सत्यापित करें कि प्लगइन सफलतापूर्वक इंस्टॉल हो गया है।

    kubectl convert --help
    

    यदि आपको कोई त्रुटि नहीं दिखाई देती है, तो इसका मतलब है कि प्लगइन सफलतापूर्वक इंस्टॉल हो गया है।

आगे क्या है