تثبيت كيبرنز باستخدام كيبرز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 على جهاز التحكم أو أي جهاز تخطط لتشغيله منه.
  • إذا واجهت مشكلات مثل عدم جاهزية عقد العمل أو مشكلات في تعيين الأكياس، تحقق من السجلات وقم بتعديل التكوينات حسب الحاجة.

روابط مفيدة