المتطلبات الأساسية لدمج Kubernetes

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X.
info

يوضّح هذا الموضوع الخطوات التي يجب إكمالها قبل تثبيت Edge Microgateway كـ خدمة في مجموعة Kubernetes.

يتناول هذا الموضوع ما يلي:

  • الحد الأدنى من متطلبات مجموعة Kubernetes
  • كيفية تثبيت Edge Microgateway وإعداده
  • كيفية تثبيت الإعداد الأساسي لـ Edge Microgateway في مجموعة Kubernetes

متطلبات مجموعة Kubernetes

تتطلّب مجموعة Kubernetes ما يلي:

  • الإصدار 1.9 من Kubernetes أو إصدار أحدث
  • Kubernetes CLI kubectl الإصدار 1.9 أو إصدار أحدث
  • مجموعة تتضمّن 3 عُقد على الأقل، كل منها يتضمّن وحدتَي معالجة مركزية افتراضية

مثال: إنشاء مجموعة Kubernetes على Google Kubernetes Engine (GKE)

إعداد جهاز إدارة Kubernetes

جهاز إدارة Kubernetes هو جهازك المحلي الذي تستخدمه لتشغيل الأوامر على مجموعة Kubernetes. عادةً ما يكون هذا الجهاز جهاز سطح مكتب يمكنه الوصول إلى الآلات الافتراضية في Kubernetes.

عليك تثبيت الأدوات المساعدة التالية على جهاز إدارة Kubernetes:

  • تثبيت واجهة سطر الأوامر kubectl 1.9 أو إصدار أحدث

  • (GKE فقط) تثبيت gcloud إذا كنت تُشغِّل Kubernetes على GKE.

إنشاء مجموعة Kubernetes على GKE

  1. سجِّل الدخول إلى لوحة بيانات Google Kubernetes Engine (GKE) على Google Cloud Platform (GCP).
  2. انقر على إنشاء مجموعة.
  3. اختَر مجموعة عادية.
  4. أدخِل اسمًا لمجموعتك.
  5. اختَر منطقة.
  6. اختَر Cluster Version 1.9.7-gke-*. على سبيل المثال، 1.9.7-gke.6.
  7. اختَر حجمًا يتضمّن 3 عُقد.
  8. اختَر وحدتَي معالجة مركزية افتراضية مع ذاكرة بسعة 7.5 غيغابايت.
  9. انقر على إنشاء.

    تعرض لقطة الشاشة التالية لوحة بيانات GKE بعد ملئها كما هو موضّح في الخطوات السابقة:

    لوحة بيانات GKE

الحصول على بيانات اعتماد مجموعتك

  1. اضبط اسم مشروع GKE:

    gcloud config set project projectName
  2. اضبط منطقة مشروع GKE:

    gcloud config set compute/zone zoneName
  3. احصل على بيانات اعتماد حاوية gcloud:

    gcloud container clusters get-credentials cluster-name --zone zone --project project-name

    حيث:

    • cluster-name هو اسم مجموعة Kubernetes التي أنشأتها.
    • zone هي المنطقة التي تقع فيها مجموعتك.
    • project-name هو اسم مشروع GCP.

    على سبيل المثال:

    gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
  4. نفِّذ الأمر التالي تمامًا كما هو موضّح. يمنح الأمر أذونات مشرف المجموعة للمستخدم الحالي. مطلوب الحصول على أذونات المشرف لإنشاء قواعد التحكّم المستند إلى الدور (RBAC) اللازمة لخدمة Edge Microgateway:

    kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value core/account)
    

تثبيت Edge Microgateway لـ Kubernetes

  1. نزِّل Edge Microgateway لـ Kubernetes. إذا كنت تستخدم جهاز MacOS أو Linux، يمكنك تنزيل أحدث إصدار أو إصدار معيّن من خلال تحديد اسم الإصدار.

    للحصول على أحدث إصدار:

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -

    للحصول على إصدار معيّن حسب رقم الإصدار يُرجى العِلم أنّه يجب أن يسبق رقم الإصدار الحرف "v". على سبيل المثال: v3.0.2

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s  version

    على سبيل المثال:

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
  2. غيِّر الدليل إلى دليل التثبيت microgateway_Version_OS_ARCH. على سبيل المثال:

    cd microgateway_2.5.26_Darwin_x86_64
  3. اطّلِع على دليل التثبيت:

    • /install/kubernetes - ملفات إعدادات .yaml للنشر على Kubernetes.
    • /samples - نماذج تطبيقات لاختبار عملية التثبيت
    • /bin - الملف التنفيذي edgemicroctl يُدخِل الأمر edgemicroctl خدمة Edge Microgateway في Kubernetes
  4. أضِف عميل edgemicroctl إلى PATH. على سبيل المثال، شغِّل الأمر التالي على نظام MacOS أو Linux:

    export PATH=$PWD/bin:$PATH
  5. طبِّق الإعداد الأساسي لـ Edge Microgateway على مجموعة Kubernetes. ينشئ الأمر التالي مساحة اسم edgemicro-system وأدوارًا للمجموعة.

    kubectl apply -f install/kubernetes/edgemicro.yaml
  6. ثبِّت وحدة التحكّم في NGINX Ingress في المجموعة. تأكَّد من عدم تشغيل أي وحدة تحكّم أخرى في Nginx. يمكنك التحقّق من ذلك من خلال تشغيل kubectl get pods.

    kubectl apply -f install/kubernetes/edgemicro-nginx-gke.yaml

التحقّق من عملية التثبيت

  1. للتحقّق مما إذا كانت وحدة التحكّم في Ingress قد بدأت، شغِّل الأمر التالي:

    kubectl get pods --all-namespaces -l app=edgemicro-ingress --watch

    كما يوضّح نموذج الناتج التالي، يستغرق بدء العمليات دقيقة أو دقيقتَين. من الطبيعي أن تظهر عدة دورات من الأخطاء وإعادة التشغيل قبل أن تتغيّر STATUS إلى Running.

    NAMESPACE          NAME                                            READY     STATUS             RESTARTS   AGE
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   1          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Error              2          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   2          40s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Running            3          1m
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running            3          1m
    
  2. بعد تشغيل Ingress، يمكنك إلغاء الأمر أعلاه عن طريق كتابة Ctrl+C.

  3. شغِّل هذا الأمر للتحقّق من نشر خدمات Kubernetes. من المفترض أن يظهر لك ناتج مشابه لنموذج الناتج الموضّح أدناه:

    kubectl get svc -n edgemicro-system
    

    مثال على الناتج:

    NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)                     AGE
    default-http-backend        ClusterIP      10.19.255.106  <none>         80/TCP                       2h
    edgemicro-ingress           LoadBalancer   10.19.247.156  35.224.24.13   80:30176/TCP,443:32325/TCP   2h
    
  4. تأكَّد من تشغيل جميع الوحدات:

    kubectl get pods -n edgemicro-system
    

    مثال على الناتج:

    NAME                                            READY     STATUS    RESTARTS   AGE
    default-http-backend-55c6c69b88-2lvtw           1/1       Running   0          4m
    edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running   3          4m
    

تثبيت Edge Microgateway

  1. يجب أن يكون لديك الإصدار 2.5.26 من Edge Microgateway أو إصدار أحدث مثبَّتًا. يمكنك التحقّق من ذلك عن طريق إدخال:

    edgemicro --version
  2. إذا لم يكن لديك الإصدار 2.5.26 من Edge Microgateway أو إصدار أحدث مثبَّتًا، شغِّل برنامج التثبيت:

    npm install edgemicro -g
  3. إذا كنت قد ثبَّت Edge Microgateway للمرة الأولى أو أجريت ترقية له، شغِّل هذا الأمر:

    edgemicro init

    إذا كنت بحاجة إلى مساعدة إضافية، يُرجى الاطّلاع على مقالة تثبيت Edge Microgateway.

الخطوة التالية

أنت الآن جاهز لنشر Edge Microgateway على Kubernetes.