क्यूबरस्प्रे के साथ कुबरनेट्स की isntall करें

चरण-दर-चरण निर्देश

Page content

हाउ-टू: केब्सप्रे द्वारा केबरनेट्स की स्थापना, जिसमें पर्यावरण के सेटअप, इनवेंटरी के संगठन और एंसिबल प्लेबुक्स के चलाने को शामिल करता है।

कर्मचारी पुराने फैक्टरी भवन में क्यूब को स्प्रे कर रहे हैं

पूर्वापेक्षा

हार्डवेयर और सॉफ्टवेयर की आवश्यकता

  • निश्चित करें कि आपके पास न्यूनतम 3 नोड (1 मास्टर और 2 वर्कर) के साथ कई मशीनें हैं, जिनकी निम्न विशिष्टताएं हैं:
    • इंस्टॉल किया गया अबून्टू 16.04/18.04 या सेंटोस 7।
    • प्रत्येक मशीन के लिए कम से कम 2 जीबी रैम (बड़े क्लस्टर के लिए अधिक रैम की सिफारिश की गई है)।
    • केब्सप्रे कंट्रोल मशीन से प्रत्येक नोड तक नेटवर्क कनेक्टिविटी और एसएसएच पहुंच।
    • उच्च उपलब्धता के लिए, 16 जीबी रैम, 100 जीबी डिस्क और 6 सीपीयू कोर वाले नोड को विचार करें।

कंट्रोल मशीन के सेटअप

  • यदि अभी तक इंस्टॉल नहीं किया गया है, तो गिट इंस्टॉल करें:

    sudo apt install git-all
    
  • यदि अभी तक इंस्टॉल नहीं किया गया है, तो पायथन (2.7 या 3.5+) और पीप इंस्टॉल करें:

    sudo apt update
    sudo apt install python3 python3-pip
    
  • एंसिबल और अन्य निर्भरताओं को इंस्टॉल करें। केब्सप्रे इसके लिए एक स्क्रिप्ट प्रदान करता है:

    git clone https://github.com/kubernetes-sigs/kubespray.git
    cd kubespray
    git checkout release-2.20  # वैकल्पिक: एक स्थायी रिलीज के लिए चेकआउट करें
    python3 -m venv venv  # पायथन वर्चुअल वातावरण बनाएं
    source venv/bin/activate  # वर्चुअल वातावरण को सक्रिय करें
    pip install -r requirements.txt  # एंसिबल और अन्य निर्भरताओं को इंस्टॉल करें
    

इनवेंटरी के संगठन

  • उदाहरण इनवेंटरी की प्रतिलिपि बनाएं:

    cp -r inventory/sample inventory/mycluster
    
  • inventory/mycluster/hosts.ini फ़ाइल को संपादित करें ताकि आपके नोड्स को जोड़ा जा सके:

    [all]
    node1 ansible_host=10.10.1.3 ansible_user=ubuntu
    node2 ansible_host=10.10.1.4 ansible_user=ubuntu
    node3 ansible_host=10.10.1.5 ansible_user=ubuntu
    
    [kube-master]
    node1
    
    [kube-node]
    node2
    node3
    
  • यदि आपके पास अलग उपयोगकर्ता है, तो ubuntu को आपके उपयोगकर्ता के साथ बदल दें।

  • आप इनवेंटरी फ़ाइल बनाने के लिए inventory_builder स्क्रिप्ट का उपयोग भी कर सकते हैं:

    declare -a IPS=(10.10.1.3 10.10.1.4 10.10.1.5)
    HOST_PREFIX=dcm-cp- KUBE_CONTROL_HOSTS=3 CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
    

संगठन के अनुकूलन

  • inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml फ़ाइल में केबरनेट्स क्लस्टर सेटिंग्स को अनुकूलित करें। उदाहरण के लिए:

    kube_network_plugin: flannel
    kubeconfig_localhost: true
    
  • उच्च उपलब्धता के लिए, एक वीआईपी और लोड बैलेंसर को संगठित करें:

    # inventory/mycluster/group_vars/all/all.yml में
    kube_vip_arp_enabled: true
    kube_vip_enabled: true
    kube_vip_controlplane_enabled: true
    kube_vip_address: 10.7.12.250  # सही वीआईपी के साथ अपडेट करें
    kube_vip_interface: eno1  # सही इंटरफ़ेस के साथ अपडेट करें
    

क्लस्टर के तैनाती

  • केबरनेट्स के तैनाती के लिए एंसिबल प्लेबुक को चलाएं:
    ansible-playbook -i inventory/mycluster/hosts.yaml cluster.yml -b -v --become --become-user=root --private-key=~/.ssh/private_key
    

तैनाती के बाद

  • तैनाती पूरी होने के बाद, आप inventory/mycluster/artifacts निर्देशिका में एक kubeconfig फ़ाइल पाएंगे। इस फ़ाइल के साथ आप kubectl के उपयोग से अपने केबरनेट्स क्लस्टर के साथ बातचीत कर सकते हैं।
    export KUBECONFIG=inventory/mycluster/artifacts/admin.conf
    kubectl get nodes
    

त्रुटि निर्माण और पहुंच

  • अपने क्लस्टर के त्रुटि निर्माण या पहुंच के लिए निश्चित करें कि आपके कंट्रोल मशीन या किसी भी मशीन पर kubectl बाइनरी इंस्टॉल किया गया है जहां आप क्लस्टर के प्रबंधन के लिए योजना बना रहे हैं।
  • यदि आपको वर्कर नोड्स के तैयार न होने या अन्य पॉड स्केड्यूलिंग समस्याओं जैसी समस्याओं का सामना करना पड़ता है, तो लॉग्स की जांच करें और आवश्यकता के अनुसार सेटिंग्स को समायोजित करें।

उपयोगी लिंक