דרישות מוקדמות לשילוב עם Kubernetes

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

במאמר הזה מוסבר מה צריך לעשות לפני שמתקינים את Edge Microgateway בתור שירות באשכול Kubernetes.

הנושא הזה עוסק בנושאים הבאים:

  • מהן הדרישות המינימליות לאשכול Kubernetes?
  • איך להתקין ולהגדיר את Edge Microgateway
  • איך להתקין את ההגדרה הבסיסית של Edge Microgateway באשכול Kubernetes.

הדרישות לאשכול Kubernetes

לאשכול Kubernetes נדרשים:

  • Kubernetes מגרסה 1.9 ואילך.
  • Kubernetes CLI kubectl מגרסה 1.9 ואילך.
  • אשכול עם 3 צמתים לפחות עם 2 יחידות vCPU לכל אחד.

דוגמה: יצירת אשכול 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. בוחרים באפשרות Standard Cluster (אשכול רגיל).
  4. נותנים שם לאשכול.
  5. בוחרים אזור.
  6. יש לבחור באפשרות Cluster Version 1.9.7-gke-*. לדוגמה,1.9.7-gke.6
  7. צריך לבחור גודל של 3 צמתים.
  8. יש לבחור 2 יחידות vCPU עם זיכרון 7.5GB.
  9. לוחצים על Create.

    בצילום המסך הבא תוכלו לראות את מרכז הבקרה של 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 באשכול. מוודאים שאף שלט רחוק אחר של 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. בדיקה שכל רצפי המודעות פועלים:

    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.