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

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

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

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

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

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

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

  • ‫Kubernetes الإصدار 1.9 أو إصدار أحدث
  • الإصدار 1.9 أو إصدار أحدث من أداة سطر الأوامر Kubernetes 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. اختَر وحدتَي معالجة مركزية افتراضيتَين بذاكرة 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. نفِّذ الأمر التالي كما هو موضَّح بالضبط. يمنح الأمر أذونات admin للمستخدم الحالي. يجب الحصول على أذونات المشرف ل إنشاء قواعد إدارة الأذونات بالاستناد إلى الدور اللازمة لخدمة 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" رقم الإصدار. على سبيل المثال: الإصدار 3.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 في المجموعة. تأكَّد من عدم تشغيل أي وحدة تحكّم أخرى في Nginix. يمكنك التحقّق من ذلك من خلال تشغيل kubectl get pods.

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

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

  1. للتحقّق مما إذا كان قد تم تشغيل "عنصر التحكّم في الدخول"، شغِّل الأمر التالي:

    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. تأكَّد من تشغيل جميع وحدات pod:

    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. يجب تثبيت Edge Microgateway 2.5.26 أو إصدار أحدث. يمكنك التحقّق من ذلك عن طريق إدخال:

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

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

    edgemicro init

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

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

أصبحت الآن مستعدًا لنشر Edge Microgateway على Kubernetes.