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

אשכול של Kubernetes מספק שירותי מחשוב, אחסון, רשת ושירותים אחרים לאפליקציות, בדומה למרכז נתונים וירטואלי. אפליקציות והשירותים המשויכים להן שפועלים ב-Kubernetes נקראים עומסי עבודה.

במדריך הזה תוכלו לראות במהירות אשכול פעיל של Google Kubernetes Engine ועומס עבודה לדוגמה, שמוגדרים באמצעות Google Cloud המסוף. אחרי שתסיימו את ההגדרה, תוכלו לעיין בעומס העבודה במסוף לפני שתמשיכו לתוכנית הלימודים המעמיקה יותר שלנו, או שתתחילו לתכנן וליצור אשכול משלכם שמוכן להפקה. Google Cloud

אם אתם מעדיפים להגדיר את אשכול הדוגמה ואת עומס העבודה באמצעות Terraform, תוכלו לעיין במאמר יצירת אשכול באמצעות Terraform.


לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :

תראו לי איך


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

כדי להפעיל את Kubernetes Engine API:
  1. נכנסים ל דף Kubernetes Engine במסוף Google Cloud .
  2. יוצרים או בוחרים פרויקט.
  3. מחכים עד שממשק ה-API והשירותים הקשורים מופעלים. הפעולה יכולה להימשך כמה דקות.
  4. Verify that billing is enabled for your Google Cloud project.

התפקידים הנדרשים

Make sure that you have the following role or roles on the project: Compute Admin, Kubernetes Engine Admin, Service Account User

Check for the roles

  1. In the Google Cloud console, go to the IAM page.

    Go to IAM
  2. Select the project.
  3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

  4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

Grant the roles

  1. In the Google Cloud console, go to the IAM page.

    כניסה לדף IAM
  2. בוחרים את הפרויקט.
  3. לוחצים על ‎ Grant access.
  4. בשדה New principals, מזינים את מזהה המשתמש. ‫ בדרך כלל מזהה המשתמש הוא כתובת האימייל של חשבון Google.

  5. לוחצים על בחירת תפקיד ומחפשים את התפקיד.
  6. כדי לתת עוד תפקידים, לוחצים על Add another role ומוסיפים את כולם.
  7. לוחצים על Save.

יצירת אשכול במצב GKE Autopilot

במצב Autopilot,‏ Google מנהלת את הגדרות האשכול, כולל שינוי גודל, אבטחה והגדרות אחרות שהוגדרו מראש. אשכולות במצב Autopilot מותאמים להרצת רוב עומסי העבודה של הייצור, ומקצים משאבי מחשוב על סמך מניפסטים של Kubernetes.

  1. נכנסים לדף Create an Autopilot cluster ב-GKE במסוף Google Cloud .

    כניסה לדף Create an Autopilot cluster

  2. בקטע Cluster basics (יסודות האשכול):

    1. בשדה שם, מזינים את השם הבא:

      hello-world-cluster
      
    2. משאירים את ערכי ברירת המחדל בשאר ההגדרות ולוחצים על Create כדי להתחיל ליצור את האשכול.

  3. כשמועברים לדף Kubernetes clusters, לוחצים על hello-world-cluster בעמודה Name.

    אתם יכולים לעקוב אחרי ההתקדמות של הגדרת האשכול, הפריסה והאימות שלו.

  4. ממתינים עד שיופיע סימן וי ליד שם הדף hello-world-cluster.

פריסת אפליקציה לדוגמה באשכול

פריסת אפליקציית אינטרנט לדוגמה מסוג "hello world" ש-Google מספקת ומאוחסנת כקונטיינר ב-Artifact Registry.

  1. נכנסים לדף Workloads ב-GKE במסוף Google Cloud .

    כניסה לדף Workloads

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

  3. בקטע שם הפריסה, מזינים את השם הבא:

    hello-world-app
    
  4. בקטע Kubernetes Cluster (אשכול Kubernetes), בוחרים באפשרות hello-world-cluster (אשכול hello-world).

  5. לוחצים על הבא: פרטי מאגר התגים.

  6. משאירים את האפשרות Existing container image (קובץ אימג' קיים של קונטיינר) מסומנת, ובשדה Image path (נתיב קובץ האימג') מזינים את הנתיב הבא:

    us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
    

    אפליקציית 'שלום עולם' הפשוטה הזו נארזת בקונטיינר יחיד, אבל אפליקציות גדולות יותר מורכבות בדרך כלל מכמה קונטיינרים קשורים שאפשר לפרוס יחד ולהפעיל כעומס עבודה יחיד.

  7. לוחצים על הבא: חשיפה (אופציונלי).

  8. בקטע Expose, יוצרים שירות Kubernetes לאיזון עומסים כדי להפנות בקשות חיצוניות לאפליקציה:

    1. בוחרים באפשרות Expose deployment as a new service (חשיפת הפריסה כשירות חדש).

    2. משאירים את יציאה 1 על 80.

    3. בשדה יציאת יעד 1, מזינים 8080.

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

    ‫GKE מקצה באופן אוטומטי כתובת IP חיצונית זמינה לשירות.

    השירות הזה נחשב לחלק מעומס העבודה של אפליקציית hello-world-app.

  9. באשכולות במצב Autopilot, יכול להיות שתופיע הודעת שגיאה, כמו Does not have minimum availability. הסיבה לכך היא ש-Autopilot מוחק את הצמתים ואז יוצר אותם מחדש. ממתינים כמה דקות ולוחצים על רענון כדי לעדכן את הדף.

  10. מחכים עד שהפריסה מסתיימת ומוצג הדף פרטי הפריסה.

צפייה בהדגמה בדפדפן

  1. במסוף Google Cloud , נכנסים לדף Deployment details של hello-world-app:

    1. נכנסים לדף Workloads ב-GKE במסוף Google Cloud .

      כניסה לדף Workloads

    2. בעמודה Name (שם), לוחצים על שם עומס העבודה שפרסתם, hello-world-app.

  2. בעמודה Endpoints, לוחצים על כתובת ה-IP שזמינה לכולם.

    ‫GKE פותח כרטיסייה חדשה בדפדפן ושולח בקשה לאפליקציה. מתעלמים מאזהרות לגבי אתרים מאובטחים, ובכרטיסייה החדשה בדפדפן אמור להופיע הכיתוב Hello, world!.

    אם Endpoints ריק, יכול להיות שבארגון שלכם יש מדיניות שמונעת גישה חיצונית.

יצרתם בהצלחה אשכול GKE במצב Autopilot ופרסתם עומס עבודה לדוגמה.

ניקוי כדי להימנע מחיובים

אם אתם מתכננים לעבור מדריכים נוספים או להמשיך לבדוק את הדוגמה, כדאי לחכות עד שתסיימו כדי לבצע את שלב הניקוי הזה. אתם יכולים להמשיך להשתמש באשכול Kubernetes לדוגמה ברוב המדריכים של GKE.

אם יצרתם פרויקט חדש כדי ללמוד על GKE ואתם לא צריכים אותו יותר, מחקתם את הפרויקט.

אם השתמשתם בפרויקט GKE קיים, מחקו את המשאבים שיצרתם כדי להימנע מחיובים בחשבון:

  1. עוברים לדף Clusters ב-GKE.

    כניסה לדף Clusters

  2. בוחרים את השורה שמכילה את hello-world-cluster ולוחצים על מחיקה.

  3. בחלון Delete hello-world-cluster, מבצעים את הפעולות הבאות:

    1. בשדה hello-world-cluster, מזינים hello-world-cluster.

    2. לוחצים על Delete.

    אם מופיעה הודעת שגיאה לגבי תיקון האשכול, אפשר לחכות עד שהתהליך יסתיים ואז למחוק את האשכול. יכול להיות שיעבור זמן מה עד שהפעולה תושלם.

  4. אם יצרתם יעד וקטגוריה ליומנים כשפעלתם לפי ההוראות במדריכים אחרים:

    1. עוברים לדף Logs storage ב-Cloud Logging.

      כניסה לדף Logs storage

    2. בוחרים באפשרות hello-world-cluster-bucket ולוחצים על מחיקה.

    3. עוברים לדף נתב יומן ב-רישום ביומן.

      כניסה לדף Log Router

    4. בוחרים באפשרות hello-world-cluster-sink ולוחצים על מחיקה.

המאמרים הבאים