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

אתם צופים במסמכי העזרה של Apigee Edge.
כניסה למסמכי העזרה של Apigee X.
info

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

    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. מוודאים שכל ה-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.