מדריך למתחילים

במאמר הזה מוסבר איך ליצור עומס עבודה ב-GKE ב-AWS ולחשוף אותו באופן פנימי לאשכול.

לפני שמתחילים

לפני שמתחילים להשתמש ב-GKE on AWS, חשוב לוודא שביצעתם את המשימות הבאות:

  • מתקינים שירות ניהול.
  • יוצרים אשכול משתמשים.
  • בספריית anthos-aws, משתמשים ב-anthos-gke כדי להחליף הקשר לאשכול המשתמשים.
    cd anthos-aws
    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    מחליפים את 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 בתת-רשת ציבורית.

כדי להתחבר לשירות הניהול:

  1. עוברים לספרייה עם ההגדרה של GKE ב-AWS. יצרתם את הספרייה הזו כשהתקנתם את שירות הניהול.

    cd anthos-aws

  2. כדי לפתוח את המנהרה, מריצים את הסקריפט bastion-tunnel.sh. המנהרה מעבירה את הנתונים אל localhost:8118.

    כדי לפתוח מנהרה ליעד המבוצר (bastion host), מריצים את הפקודה הבאה:

    ./bastion-tunnel.sh -N
    

    ההודעות ממנהרת ה-SSH מופיעות בחלון הזה. כשרוצים לסגור את החיבור, מפסיקים את התהליך באמצעות Control+C או סוגרים את החלון.

  3. פותחים טרמינל חדש ועוברים לספרייה anthos-aws.

    cd anthos-aws
  4. מוודאים שאפשר להתחבר לאשכול באמצעות kubectl.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl cluster-info
    

    הפלט כולל את כתובת ה-URL של שרת ה-API של שירות הניהול.

הפעלת פריסת NGINX

בקטע הזה יוצרים פריסה של שרת האינטרנט NGINX בשם nginx-1.

kubectl

  1. משתמשים ב-kubectl create כדי ליצור את הפריסה.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl create deployment --image nginx nginx-1
    
  2. משתמשים ב-kubectl כדי לקבל את הסטטוס של הפריסה. שימו לב לNAME של ה-Pod.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl get deployment
    

המסוף

כדי להפעיל פריסת NGINX באמצעות מסוף Google Cloud :

  1. נכנסים לתפריט GKE Workloads ב-Google Cloud console.

    כניסה לתפריט Workloads

  2. לוחצים על פריסה.

  3. בקטע עריכת קונטיינר, בוחרים באפשרות קובץ אימג' של קונטיינר קיים כדי לבחור קובץ אימג' של קונטיינר שזמין מ-Container Registry. ממלאים את נתיב התמונה עם קובץ אימג' של קונטיינר שבו רוצים להשתמש והגרסה שלו. במדריך למתחילים הזה, משתמשים ב-nginx:latest.

  4. לוחצים על Done (סיום) ואז על Continue (המשך). מופיע המסך Configuration.

  5. אפשר לשנות את שם האפליקציה של הפריסה ואת מרחב השמות של Kubernetes. לצורך השימוש במדריך למתחילים הזה, אפשר להשתמש בשם האפליקציה nginx-1 ובמרחב השמות default.

  6. בתפריט הנפתח Cluster, בוחרים את אשכול המשתמשים. כברירת מחדל, השם של אשכול המשתמשים הראשון הוא cluster-0.

  7. לוחצים על פריסה. ‫GKE ב-AWS מפעיל את פריסת NGINX. יופיע המסך פרטי הפריסה.

חשיפת הפודים

בקטע הזה מוסבר איך לבצע את אחת מהפעולות הבאות:

  • חושפים את הפריסה באופן פנימי באשכול ומאשרים שהיא זמינה באמצעות kubectl port-forward.

  • חשיפת הפריסה מהמסוף לכתובות שמותרות על ידי קבוצת האבטחה של מאגר הצמתים. Google Cloud

kubectl

  1. חשיפת יציאה 80 לפריסה באשכול באמצעות kubectl expose.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl expose deployment nginx-1 --port=80
    

    עכשיו אפשר לגשת לפריסה מתוך האשכול.

  2. מעבירים את היציאה 80 בפריסה ליציאה 8080 במחשב המקומי באמצעות kubectl port-forward.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl port-forward deployment/nginx-1 8080:80
    
  3. מתחברים אל http://localhost:8080 באמצעות curl או דפדפן האינטרנט. דף האינטרנט של NGINX שמוגדר כברירת מחדל מופיע.

    curl http://localhost:8080
    

המסוף

  1. נכנסים לתפריט GKE Workloads (עומסי עבודה ב-GKE) ב Google Cloud מסוף.

    כניסה לתפריט Workloads

  2. במסך פרטי הפריסה, לוחצים על חשיפה. יופיע המסך Expose a deployment.

  3. בקטע מיפוי יציאות, משאירים את יציאת ברירת המחדל (80) ולוחצים על סיום.

  4. בקטע Service type, בוחרים באפשרות Load balancer. מידע נוסף על אפשרויות אחרות זמין במאמר פרסום שירותים (ServiceTypes) במסמכי העזרה של Kubernetes.

  5. לוחצים על Expose. יוצג המסך פרטי השירות. ‫GKE ב-AWS יוצר מאזן עומסים קלאסי של Elastic עבור השירות.

  6. לוחצים על הקישור External Endpoints (נקודות קצה חיצוניות). אם מאזן העומסים מוכן, מופיע דף האינטרנט של NGINX שמוגדר כברירת מחדל.

הצגת הפריסה ב- Google Cloud console

אם האשכול שלכם מחובר Google Cloud למסוף, תוכלו לראות את הפריסה בדף GKE Workloads. כדי לראות את עומס העבודה:

  1. בדפדפן, נכנסים אל דף עומסי העבודה ב-Google Kubernetes Engine.

    מעבר לדף 'עומסי עבודה' ב-Google Kubernetes Engine

    מופיעה רשימת עומסי העבודה.

  2. לוחצים על השם של עומס העבודה, nginx-1. יופיע המסך Deployment details (פרטי הפריסה).

  3. במסך הזה אפשר לקבל פרטים על הפריסה, לצפות בהגדרות 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

המסוף

  1. בתפריט הדפים, לוחצים על Services and Ingress במסוף Google Cloud .

    כניסה לדף Services and Ingress

  2. מחפשים את שירות NGINX ולוחצים על שם. כברירת מחדל, השם הוא nginx-1-service. יוצג המסך פרטי השירות.

  3. לוחצים על מחיקה ומאשרים שרוצים למחוק את השירות. ‫GKE ב-AWS מוחק את מאזן העומסים.

  4. עוברים אל הדף Workloads ב-Google Kubernetes Engine.

    מעבר לדף 'עומסי עבודה' ב-Google Kubernetes Engine

    מופיעה רשימת עומסי העבודה.

  5. לוחצים על השם של עומס העבודה, nginx-1. יופיע המסך Deployment details (פרטי הפריסה).

  6. לוחצים על מחיקה ומאשרים שרוצים למחוק את הפריסה. ‫GKE ב-AWS מוחק את הפריסה.

מה השלב הבא?

יוצרים מאזן עומסים פנימי או חיצוני באמצעות אחד מהשירותים הבאים:

אפשר להשתמש בסוגים אחרים של עומסי עבודה ב-Kubernetes עם GKE ב-AWS. מידע נוסף על פריסת עומסי עבודה זמין במסמכי GKE.