יצירת אשכול ופריסת עומס עבודה במסוף Google Cloud
אשכול של Kubernetes מספק שירותי מחשוב, אחסון, רשת ושירותים אחרים לאפליקציות, בדומה למרכז נתונים וירטואלי. אפליקציות והשירותים המשויכים להן שפועלים ב-Kubernetes נקראים עומסי עבודה.
במדריך הזה תלמדו איך לראות במהירות אשכול פעיל של Google Kubernetes Engine ועומס עבודה לדוגמה, שמוגדרים באמצעות Google Cloud המסוף. אחרי שתסיימו את ההגדרה, תוכלו לעיין בעומס העבודה במסוף Google Cloud לפני שתמשיכו לתוכנית הלימודים המעמיקה יותר שלנו, או שתתחילו לתכנן וליצור אשכול משלכם שמוכן לפרודקשן.
אם אתם מעדיפים להגדיר את אשכול הדוגמה ואת עומס העבודה באמצעות Terraform, קראו את המאמר יצירת אשכול באמצעות Terraform.
לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :
לפני שמתחילים
כדי להפעיל את Kubernetes Engine API:- נכנסים ל דף Kubernetes Engine במסוף Google Cloud .
- יוצרים או בוחרים פרויקט.
- מחכים עד שממשק ה-API והשירותים הקשורים יופעלו. הפעולה עשויה להימשך כמה דקות.
התפקידים הנדרשים
צריך לוודא שיש לכם בפרויקט את התפקיד או התפקידים הבאים: אדמין של Compute, אדמין של Kubernetes Engine, משתמש בחשבון שירות
בדיקת התפקידים
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הפרויקט.
-
בעמודה Principal, מחפשים את כל השורות שמזהות אתכם או קבוצה שאתם נכללים בה. כדי לדעת באילו קבוצות אתם נכללים, פנו לאדמין.
- בכל השורות שבהן אתם מופיעים, בודקים בעמודה Role אם רשימת התפקידים כוללת את התפקידים הנדרשים.
מתן התפקידים
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הפרויקט.
- לוחצים על Grant access.
-
בשדה New principals, מזינים את מזהה המשתמש. בדרך כלל מזהה המשתמש הוא כתובת האימייל של חשבון Google.
- לוחצים על Select a role ומחפשים את התפקיד.
- כדי לתת עוד תפקידים, לוחצים על Add another role ומוסיפים אותם.
- לוחצים על Save.
יצירת אשכול במצב GKE Autopilot
במצב אוטומטי, Google מנהלת את הגדרת האשכול, כולל התאמה לעומס, אבטחה והגדרות אחרות שהוגדרו מראש. אשכולות במצב אוטומטי מותאמים להרצה של רוב עומסי העבודה בסביבת הייצור, ולהקצאה של משאבי מחשוב על סמך המניפסטים של Kubernetes.
נכנסים לדף Create an Autopilot cluster של GKE במסוף Google Cloud .
בקטע Cluster basics (פרטים בסיסיים על האשכול), מבצעים את הפעולות הבאות:
בשדה Name (שם), מזינים את השם הבא:
hello-world-clusterמשאירים את ערכי ברירת המחדל בשאר ההגדרות ולוחצים על
Create (יצירה) כדי להתחיל ליצור את האשכול.
כשמועברים לדף Kubernetes clusters, אפשר לעקוב אחרי התקדמות ההגדרה, הפריסה והאימות של האשכול.
ממתינים עד שמופיע סימן וי לצד שם הדף hello-world-cluster.
פריסת אפליקציה לדוגמה באשכול
פורסים אפליקציית אינטרנט לדוגמה מסוג "hello world" ש-Google מספקת, שמאוחסנת כקונטיינר ב-Artifact Registry.
נכנסים לדף Workloads של GKE במסוף Google Cloud .
לוחצים על
Deploy .בקטע שם הפריסה, מזינים את השם הבא:
hello-world-appבקטע
Kubernetes Cluster (אשכול Kubernetes), בוחרים באפשרות hello-world-cluster (אשכול hello-world).לוחצים על הבא: פרטי מאגר התגים.
משאירים את האפשרות קובץ אימג' של קונטיינר קיים מסומנת, ובשדה נתיב קובץ האימג' מזינים את הנתיב הבא:
us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0אפליקציית 'Hello World' הפשוטה הזו נארזת בקונטיינר יחיד, אבל אפליקציות גדולות יותר בדרך כלל מורכבות מכמה קונטיינרים קשורים שאפשר לפרוס יחד ולהפעיל כעומס עבודה יחיד.
לוחצים על הבא: חשיפה (אופציונלי).
בקטע Expose, יוצרים שירות Kubernetes לאיזון עומסים כדי להפנות בקשות חיצוניות לאפליקציה:
בוחרים באפשרות Expose deployment as a new service (חשיפת הפריסה כשירות חדש).
משאירים את יציאה 1 מוגדרת ל-80.
בשדה יציאה ליעד 1, מזינים 8080.
לוחצים על Deploy.
GKE מקצה באופן אוטומטי כתובת IP חיצונית זמינה לשירות.
השירות הזה נחשב לחלק מעומס העבודה של אפליקציית hello-world-app.
באשכולות במצב Autopilot, יכול להיות שתופיע הודעת שגיאה, כמו
Does not have minimum availability. הסיבה לכך היא שמצב טייס אוטומטי מוחק את הצמתים ואז יוצר אותם מחדש. ממתינים כמה דקות ואז לוחצים עלרענון כדי לעדכן את הדף.מחכים עד שהפריסה תסתיים ויופיע הדף Deployment details.
צפייה בהדגמה בשידור חי בדפדפן
במסוף Google Cloud , נכנסים לדף Deployment details של hello-world-app:
נכנסים לדף Workloads ב-GKE במסוף Google Cloud .
בעמודה Name (שם), לוחצים על שם עומס העבודה שפרסתם, hello-world-app.
בעמודה
Endpoints , לוחצים על כתובת ה-IP שזמינה לכולם.מערכת GKE פותחת כרטיסייה חדשה בדפדפן ושולחת בקשה לאפליקציה. מתעלמים מאזהרות לגבי אתרים מאובטחים, ובכרטיסייה החדשה בדפדפן אמור להופיע הכיתוב Hello, world!.
אם Endpoints ריק, יכול להיות שבארגון שלכם יש מדיניות שמונעת גישה חיצונית.
יצרתם בהצלחה אשכול GKE במצב Autopilot ופרסתם עומס עבודה לדוגמה.
ניקוי כדי להימנע מחיובים
אם אתם מתכננים לעבור מדריכים נוספים או להמשיך לבדוק את הדוגמה, כדאי לחכות עד שתסיימו כדי לבצע את שלב הניקוי הזה. אתם יכולים להמשיך להשתמש באשכול Kubernetes לדוגמה ברוב המדריכים של GKE.
אם יצרתם פרויקט חדש כדי ללמוד על GKE ואתם לא צריכים אותו יותר, מוחקים את הפרויקט.
אם השתמשתם בפרויקט GKE קיים, מחקו את המשאבים שיצרתם כדי להימנע מחיובים בחשבון:
עוברים לדף Clusters ב-GKE.
בוחרים את השורה עם hello-world-cluster ולוחצים על
מחיקה .בחלון Delete hello-world-cluster:
בשדה hello-world-cluster, מזינים
hello-world-cluster.לוחצים על Delete.
אם מופיעה הודעת שגיאה לגבי תיקון האשכול, אפשר להמתין עד לסיום התהליך ואז למחוק את האשכול. יכול להיות שהפעולה תימשך זמן מה.
אם יצרתם sink ביומן וקטגוריה כשפעלתם לפי ההוראות במדריכים אחרים:
עוברים לדף Logs storage ב-Cloud Logging.
בוחרים באפשרות hello-world-cluster-bucket ולוחצים על Delete.
נכנסים לדף Log router ב-Logging.
בוחרים באפשרות hello-world-cluster-sink ולוחצים על מחיקה.
המאמרים הבאים
בדיקת האשכול ועומס העבודה כדי לקבל מידע על חלק מההגדרות והמשאבים החשובים של עומס העבודה שפרסתם.
כדאי לנסות את תוכנית הלימודים המפורטת יותר: אפליקציות שניתן להרחיב.
בסקירה הכללית על ניהול אשכולות תוכלו ללמוד איך להתחיל לנהל אשכולות בעולם האמיתי.