क्यूबरस्प्रे के साथ कुबरनेट्स की isntall करें
चरण-दर-चरण निर्देश
हाउ-टू: केब्सप्रे द्वारा केबरनेट्स की स्थापना, जिसमें पर्यावरण के सेटअप, इनवेंटरी के संगठन और एंसिबल प्लेबुक्स के चलाने को शामिल करता है।
पूर्वापेक्षा
हार्डवेयर और सॉफ्टवेयर की आवश्यकता
- निश्चित करें कि आपके पास न्यूनतम 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
बाइनरी इंस्टॉल किया गया है जहां आप क्लस्टर के प्रबंधन के लिए योजना बना रहे हैं। - यदि आपको वर्कर नोड्स के तैयार न होने या अन्य पॉड स्केड्यूलिंग समस्याओं जैसी समस्याओं का सामना करना पड़ता है, तो लॉग्स की जांच करें और आवश्यकता के अनुसार सेटिंग्स को समायोजित करें।