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

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

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

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

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

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

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

  • Kubernetes מגרסה 1.9 ואילך.
  • CLI של 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. לוחצים על Create Cluster.
  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. לוחצים על יצירה.

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

    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.