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

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

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

يناقش هذا الموضوع ما يلي:

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

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

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

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

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

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

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

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

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

  • (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. اختَر وحدتَي معالجة مركزية (vCPU) بسعة ذاكرة 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" هو اسم مشروعك على Google Cloud Platform.

    مثال:

    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 في المجموعة. تأكد من عدم وجود وحدة تحكم Nginix أخرى قيد التشغيل. يمكنك التحقق من خلال تشغيل 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. إذا لم يكن لديك Edge Microgateway 2.5.26 أو إصدار أحدث مثبَّتًا، نفِّذ النص البرمجي للتثبيت:

    npm install edgemicro -g
  3. إذا قمت للتو بتثبيت Edge Microgateway لأول مرة أو ترقيته، قم بتشغيل هذا الأمر:

    edgemicro init

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

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

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