במאמר הזה מוסבר איך ליצור עומס עבודה ב-GKE ב-AWS ולחשוף אותו באופן פנימי לאשכול.
לפני שמתחילים
לפני שמתחילים להשתמש ב-GKE on AWS, חשוב לוודא שביצעתם את המשימות הבאות:
- משלימים את הדרישות המוקדמות.
- מתקינים שירות ניהול.
- יוצרים אשכול משתמשים.
- בספריית
anthos-aws, משתמשים ב-anthos-gkeכדי להחליף הקשר לאשכול המשתמשים. מחליפים את CLUSTER_NAME בשם אשכול המשתמש.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
אפשר לבצע את השלבים האלה באמצעות kubectl, או באמצעות מסוף Google Cloud אם הזדהיתם באמצעות Connect.
אם אתם משתמשים במסוף Google Cloud , דלגו אל הפעלת פריסת NGINX.
כדי להתחבר למשאבי GKE on AWS, מבצעים את השלבים הבאים. בוחרים אם יש לכם ענן וירטואלי פרטי (VPC) קיים ב-AWS (או חיבור ישיר לענן הווירטואלי הפרטי), או אם יצרתם ענן וירטואלי פרטי ייעודי כשבניתם את שירות הניהול.
VPC קיים
אם יש לכם חיבור ישיר או חיבור VPN ל-VPC קיים, אל תכללו את השורה env HTTP_PROXY=http://localhost:8118 בפקודות שבמאמר הזה.
VPC ייעודי
כשיוצרים שירות ניהול ב-VPC ייעודי, GKE on AWS כולל מארח bastion בתת-רשת ציבורית.
כדי להתחבר לשירות הניהול:
עוברים לספרייה עם ההגדרה של GKE ב-AWS. יצרתם את הספרייה הזו כשהתקנתם את שירות הניהול.
cd anthos-aws
כדי לפתוח את המנהרה, מריצים את הסקריפט
bastion-tunnel.sh. המנהרה מעבירה את הנתונים אלlocalhost:8118.כדי לפתוח מנהרה ליעד המבוצר (bastion host), מריצים את הפקודה הבאה:
./bastion-tunnel.sh -Nההודעות ממנהרת ה-SSH מופיעות בחלון הזה. כשרוצים לסגור את החיבור, מפסיקים את התהליך באמצעות Control+C או סוגרים את החלון.
פותחים טרמינל חדש ועוברים לספרייה
anthos-aws.cd anthos-aws
מוודאים שאפשר להתחבר לאשכול באמצעות
kubectl.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoהפלט כולל את כתובת ה-URL של שרת ה-API של שירות הניהול.
הפעלת פריסת NGINX
בקטע הזה יוצרים פריסה של שרת האינטרנט NGINX בשם nginx-1.
kubectl
משתמשים ב-
kubectl createכדי ליצור את הפריסה.env HTTPS_PROXY=http://localhost:8118 \ kubectl create deployment --image nginx nginx-1משתמשים ב-
kubectlכדי לקבל את הסטטוס של הפריסה. שימו לב לNAMEשל ה-Pod.env HTTPS_PROXY=http://localhost:8118 \ kubectl get deployment
המסוף
כדי להפעיל פריסת NGINX באמצעות מסוף Google Cloud :
נכנסים לתפריט GKE Workloads ב-Google Cloud console.
לוחצים על פריסה.
בקטע עריכת קונטיינר, בוחרים באפשרות קובץ אימג' של קונטיינר קיים כדי לבחור קובץ אימג' של קונטיינר שזמין מ-Container Registry. ממלאים את נתיב התמונה עם קובץ אימג' של קונטיינר שבו רוצים להשתמש והגרסה שלו. במדריך למתחילים הזה, משתמשים ב-
nginx:latest.לוחצים על Done (סיום) ואז על Continue (המשך). מופיע המסך Configuration.
אפשר לשנות את שם האפליקציה של הפריסה ואת מרחב השמות של Kubernetes. לצורך השימוש במדריך למתחילים הזה, אפשר להשתמש בשם האפליקציה
nginx-1ובמרחב השמותdefault.בתפריט הנפתח Cluster, בוחרים את אשכול המשתמשים. כברירת מחדל, השם של אשכול המשתמשים הראשון הוא
cluster-0.לוחצים על פריסה. GKE ב-AWS מפעיל את פריסת NGINX. יופיע המסך פרטי הפריסה.
חשיפת הפודים
בקטע הזה מוסבר איך לבצע את אחת מהפעולות הבאות:
חושפים את הפריסה באופן פנימי באשכול ומאשרים שהיא זמינה באמצעות
kubectl port-forward.חשיפת הפריסה מהמסוף לכתובות שמותרות על ידי קבוצת האבטחה של מאגר הצמתים. Google Cloud
kubectl
חשיפת יציאה 80 לפריסה באשכול באמצעות
kubectl expose.env HTTPS_PROXY=http://localhost:8118 \ kubectl expose deployment nginx-1 --port=80עכשיו אפשר לגשת לפריסה מתוך האשכול.
מעבירים את היציאה
80בפריסה ליציאה8080במחשב המקומי באמצעותkubectl port-forward.env HTTPS_PROXY=http://localhost:8118 \ kubectl port-forward deployment/nginx-1 8080:80מתחברים אל
http://localhost:8080באמצעותcurlאו דפדפן האינטרנט. דף האינטרנט של NGINX שמוגדר כברירת מחדל מופיע.curl http://localhost:8080
המסוף
נכנסים לתפריט GKE Workloads (עומסי עבודה ב-GKE) ב Google Cloud מסוף.
במסך פרטי הפריסה, לוחצים על חשיפה. יופיע המסך Expose a deployment.
בקטע מיפוי יציאות, משאירים את יציאת ברירת המחדל (
80) ולוחצים על סיום.בקטע Service type, בוחרים באפשרות Load balancer. מידע נוסף על אפשרויות אחרות זמין במאמר פרסום שירותים (ServiceTypes) במסמכי העזרה של Kubernetes.
לוחצים על Expose. יוצג המסך פרטי השירות. GKE ב-AWS יוצר מאזן עומסים קלאסי של Elastic עבור השירות.
לוחצים על הקישור External Endpoints (נקודות קצה חיצוניות). אם מאזן העומסים מוכן, מופיע דף האינטרנט של NGINX שמוגדר כברירת מחדל.
הצגת הפריסה ב- Google Cloud console
אם האשכול שלכם מחובר Google Cloud למסוף, תוכלו לראות את הפריסה בדף GKE Workloads. כדי לראות את עומס העבודה:
בדפדפן, נכנסים אל דף עומסי העבודה ב-Google Kubernetes Engine.
מעבר לדף 'עומסי עבודה' ב-Google Kubernetes Engine
מופיעה רשימת עומסי העבודה.
לוחצים על השם של עומס העבודה,
nginx-1. יופיע המסך Deployment details (פרטי הפריסה).במסך הזה אפשר לקבל פרטים על הפריסה, לצפות בהגדרות YAML ולערוך אותן, ולבצע פעולות אחרות ב-Kubernetes.
מידע נוסף על האפשרויות שזמינות בדף הזה מופיע במאמר פריסת אפליקציה בלי שמירת מצב במאמרי העזרה של GKE.
הסרת המשאבים
כדי למחוק את הפריסה של NGINX, משתמשים ב-kubectl delete או במסוף Google Cloud .
kubectl
env HTTPS_PROXY=http://localhost:8118 \
kubectl delete service nginx-1 &&\
kubectl delete deployment nginx-1
המסוף
בתפריט הדפים, לוחצים על Services and Ingress במסוף Google Cloud .
מחפשים את שירות NGINX ולוחצים על שם. כברירת מחדל, השם הוא
nginx-1-service. יוצג המסך פרטי השירות.לוחצים על מחיקה ומאשרים שרוצים למחוק את השירות. GKE ב-AWS מוחק את מאזן העומסים.
עוברים אל הדף Workloads ב-Google Kubernetes Engine.
מעבר לדף 'עומסי עבודה' ב-Google Kubernetes Engine
מופיעה רשימת עומסי העבודה.
לוחצים על השם של עומס העבודה,
nginx-1. יופיע המסך Deployment details (פרטי הפריסה).לוחצים על מחיקה ומאשרים שרוצים למחוק את הפריסה. GKE ב-AWS מוחק את הפריסה.
מה השלב הבא?
יוצרים מאזן עומסים פנימי או חיצוני באמצעות אחד מהשירותים הבאים:
- מאזן עומסים קלאסי ומאזן עומסי רשת ב-AWS
- AWS Application Load Balancer
- Ingress עם Cloud Service Mesh
אפשר להשתמש בסוגים אחרים של עומסי עבודה ב-Kubernetes עם GKE ב-AWS. מידע נוסף על פריסת עומסי עבודה זמין במסמכי GKE.