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

בנושא הזה מוסבר איך ליצור עומס עבודה ב-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 ב-AWS, מבצעים את השלבים הבאים. בוחרים אם יש לכם רשת VPC קיימת ב-AWS (או חיבור ישיר לרשת ה-VPC) או אם יצרתם רשת VPC ייעודית כשבניתם את שירות הניהול.

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. בקטע סוג השירות, בוחרים באפשרות מאזן עומסים. מידע נוסף על אפשרויות אחרות זמין במאמר פרסום שירותים (ServiceTypes) במסמכי העזרה של Kubernetes.

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

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

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

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

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

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

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

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

  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. נכנסים אל דף עומסי העבודה ב-Google Kubernetes Engine.

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

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

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

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

מה השלב הבא?

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

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