تثبيت كيبرنز باستخدام كيبرزpray
تعليمات خطوة بخطوة
Page content
كيفية: تثبيت Kubernetes باستخدام Kubespray، بما في ذلك إعداد البيئة، وتكوين المخزون، وتشغيل مجموعات Ansible.
المتطلبات الأساسية
متطلبات الأجهزة والبرامج
- تأكد من أن لديك عدة أجهزة (على الأقل 3 عقد: 1 رئيسية و2 عمال) ذات المواصفات التالية:
- تثبيت Ubuntu 16.04/18.04 أو CentOS 7.
- على الأقل 2 جيجابايت من الذاكرة العشوائية لكل جهاز (يُنصح بزيادة الذاكرة للكتل الأكبر).
- اتصال الشبكة ووصول SSH من جهاز تحكم Kubespray إلى كل عقدة.
- لضمان توفر عالي، تأكد من أن العقدة تحتوي على 16 جيجابايت من الذاكرة، وقرص بسعة 100 جيجابايت، و6 أنوية معالج.
إعداد جهاز التحكم
-
تثبيت Git إذا لم يكن موجودًا بالفعل:
sudo apt install git-all
-
تثبيت Python (2.7 أو 3.5+) وpip:
sudo apt update sudo apt install python3 python3-pip
-
تثبيت Ansible وباقي الاعتمادات. يوفر Kubespray نسخة من البرنامج لمساعدتك في ذلك:
git clone https://github.com/kubernetes-sigs/kubespray.git cd kubespray git checkout release-2.20 # خياري: تحقق من إصدار مستقر python3 -m venv venv # إنشاء بيئة افتراضية لـ Python source venv/bin/activate # تنشيط البيئة الافتراضية pip install -r requirements.txt # تثبيت Ansible وباقي الاعتمادات
تكوين المخزون
-
نسخ المخزون المثال:
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[@]}
تخصيص التكوين
-
قم بتخصيص إعدادات تجميع Kubernetes في ملف
inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml
. على سبيل المثال:kube_network_plugin: flannel kubeconfig_localhost: true
-
لضمان توفر عالي، قم بتكوين عنوان VIP ومحفظة التحميل المتوازن:
# في ملف 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 # قم بتحديث العنوان VIP الصحيح kube_vip_interface: eno1 # قم بتحديث الواجهة الصحيحة
نشر التجميع
- قم بتشغيل مجموعات Ansible لنشر Kubernetes:
ansible-playbook -i inventory/mycluster/hosts.yaml cluster.yml -b -v --become --become-user=root --private-key=~/.ssh/private_key
ما بعد النشر
- بمجرد اكتمال النشر، ستجد ملفًا
kubeconfig
في الدليلinventory/mycluster/artifacts
. هذا الملف ضروري لتفاعل مع تجميع Kubernetes الخاص بك باستخدامkubectl
.export KUBECONFIG=inventory/mycluster/artifacts/admin.conf kubectl get nodes
التroubleshooting والوصول
- للتحقق من الأخطاء أو الوصول إلى تجميعك، تأكد من أنك قمت بتثبيت
kubectl
على جهاز التحكم أو أي جهاز تخطط لتشغيله منه. - إذا واجهت مشكلات مثل عدم جاهزية عقد العمل أو مشكلات في تعيين الأكياس، تحقق من السجلات وقم بتعديل التكوينات حسب الحاجة.