אתם צופים במסמכי התיעוד של 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 מעבדים וירטואליים.
דוגמה: יצירת אשכול Kubernetes ב-Google Kubernetes Engine (GKE)
הגדרת מכונת הניהול של Kubernetes
מכונת הניהול של Kubernetes היא המכונה המקומית שבה אתם משתמשים כדי להריץ פקודות באשכול Kubernetes. המכונה הזו היא בדרך כלל מכונת מחשב שולחני שיש לה גישה למכונות הווירטואליות של Kubernetes.
צריך להתקין את כלי השירות הבאים במכונת הניהול של Kubernetes:
מתקינים את ממשק שורת הפקודה kubectl בגרסה 1.9 ואילך.
(GKE בלבד) אם אתם מריצים Kubernetes ב-GKE, צריך להתקין את gcloud.
יצירת אשכול Kubernetes ב-GKE
- מתחברים ללוח הבקרה של Google Kubernetes Engine (GKE) ב-Google Cloud Platform (GCP).
- לוחצים על יצירת אשכול.
- בוחרים באפשרות 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
where:
-
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מוודאים שכל הפודים פועלים:
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.