בנושא הזה מוסבר איך ליצור עומס עבודה ב-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 ב-AWS, מבצעים את השלבים הבאים. בוחרים אם יש לכם רשת VPC קיימת ב-AWS (או חיבור ישיר לרשת ה-VPC) או אם יצרתם רשת VPC ייעודית כשבניתם את שירות הניהול.
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) ולוחצים על סיום.בקטע סוג השירות, בוחרים באפשרות מאזן עומסים. מידע נוסף על אפשרויות אחרות זמין במאמר פרסום שירותים (ServiceTypes) במסמכי העזרה של Kubernetes.
לוחצים על Expose (חשיפה). יופיע המסך פרטי השירות. GKE ב-AWS יוצר מאזן עומסים קלאסי של Elastic עבור השירות.
לוחצים על הקישור External Endpoints (נקודות קצה חיצוניות). אם מאזן העומסים מוכן, מופיע דף האינטרנט של NGINX שמוגדר כברירת מחדל.
הצגת הפריסה ב- Google Cloud console
אם האשכול שלכם מחובר למסוף Google Cloud , תוכלו לראות את הפריסה בדף 'עומסי עבודה' ב-GKE. כדי לראות את עומס העבודה:
בדפדפן, נכנסים אל דף עומסי העבודה ב-Google Kubernetes Engine.
מעבר לדף 'עומסי עבודה' ב-Google Kubernetes Engine
מופיעה רשימת עומסי העבודה.
לוחצים על השם של עומס העבודה,
nginx-1. יופיע המסך פרטי הפריסה.במסך הזה אפשר לקבל פרטים על הפריסה, לראות ולערוך את הגדרות ה-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 מוחק את מאזן העומסים.
נכנסים אל דף עומסי העבודה ב-Google Kubernetes Engine.
מעבר לדף 'עומסי עבודה' ב-Google Kubernetes Engine
מופיעה רשימת עומסי העבודה.
לוחצים על השם של עומס העבודה,
nginx-1. יופיע המסך פרטי הפריסה.לוחצים על מחיקה ומאשרים שרוצים למחוק את הפריסה. GKE ב-AWS מוחק את הפריסה.
מה השלב הבא?
יוצרים מאזן עומסים פנימי או חיצוני באמצעות אחד מהשירותים הבאים:
- מאזן עומסים קלאסי ומאזן עומסי רשת ב-AWS
- AWS Application Load Balancer
- Ingress עם Cloud Service Mesh
אפשר להשתמש בסוגים אחרים של עומסי עבודה ב-Kubernetes עם GKE ב-AWS. מידע נוסף על פריסת עומסי עבודה זמין במסמכי GKE.