אתם צופים במסמכי העזרה של 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
- מתחברים למרכז הבקרה של Google Kubernetes Engine (GKE) ב-Google Cloud Platform (GCP).
- לוחצים על Create Cluster.
- בוחרים באפשרות Standard Cluster.
- נותנים שם לאשכולות.
- בוחרים אזור.
- יש לבחור באפשרות
Cluster Version 1.9.7-gke-*
. לדוגמה1.9.7-gke.6
. - בוחרים קבוצה של 3 צמתים.
- בוחרים 2 מעבדי vCPU עם זיכרון בנפח 7.5GB.
לוחצים על יצירה.
בצילום המסך הבא מוצג לוח הבקרה של GKE, כפי שמתואר בשלבים הקודמים:
אחזור פרטי הכניסה לאשכול
מגדירים את שם הפרויקט ב-GKE:
gcloud config set project projectName
מגדירים את האזור של פרויקט GKE:
gcloud config set compute/zone zoneName
מקבלים את פרטי הכניסה ל-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
מריצים את הפקודה הבאה בדיוק כפי שמוצגת. הפקודה מעניקה למשתמש הנוכחי הרשאות אדמין של האשכולות. נדרשות הרשאות אדמין כדי ליצור את כללי ה-RBAC הנדרשים לשירות Edge Microgateway:
kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value core/account)
התקנה של Edge Microgateway ל-Kubernetes
מורידים את 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
עוברים לספריית ההתקנה
microgateway_Version_OS_ARCH
. לדוגמה:cd microgateway_2.5.26_Darwin_x86_64
בודקים את ספריית ההתקנה:
/install/kubernetes
– קובצי.yaml
תצורה לפריסה ב-Kubernetes./samples
– אפליקציות לדוגמה לבדיקה של ההתקנה./bin
– קובץ ההפעלהedgemicroctl
. הפקודהedgemicroctl
מחדירה את Edge Microgateway ל-Kubernetes
מוסיפים את הלקוח
edgemicroctl
ל-PATH
. לדוגמה, מריצים את הפקודה הבאה במערכת MacOS או Linux:export PATH=$PWD/bin:$PATH
מחילים את ההגדרה הבסיסית של Edge Microgateway על אשכול Kubernetes. הפקודה הבאה יוצרת מרחב שמות
edgemicro-system
ותפקידי אשכול.kubectl apply -f install/kubernetes/edgemicro.yaml
מתקינים את בקר NGINX Ingress באשכול. חשוב לוודא שאין אף אמצעי בקרה אחר של NGINX שפועל. אפשר לבדוק זאת על ידי הפעלת
kubectl get pods
.kubectl apply -f install/kubernetes/edgemicro-nginx-gke.yaml
אימות ההתקנה
כדי לבדוק אם בקר 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
אחרי שה-Ingress פועל, אפשר לבטל את הפקודה שלמעלה על ידי הקלדה של
Ctrl+C
.מריצים את הפקודה הזו כדי לבדוק ששירותי 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
מוודאים שכל ה-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
צריך להתקין את Edge Microgateway בגרסה 2.5.26 ואילך. כדי לבדוק את זה:
edgemicro --version
אם עדיין לא התקנתם את Edge Microgateway בגרסה 2.5.26 ואילך, מריצים את סקריפט ההתקנה:
npm install edgemicro -g
אם זו הפעם הראשונה שאתם מתקינים את Edge Microgateway או משדרגים אותו, מריצים את הפקודה הבאה:
edgemicro init
לקבלת עזרה נוספת, אפשר לעיין במאמר התקנת Edge Microgateway.
השלב הבא
עכשיו אתם מוכנים לפרוס את Edge Microgateway ב-Kubernetes.