שיפור השירותים ב-GKE בעזרת Gemini

בדף הזה מוסבר איך אפשר לכוונן את הפריסות של Google Kubernetes Engine‏ (GKE) כדי לשפר את הביצועים והאמינות באמצעות Gemini Cloud Assist, כלי מבוסס-AI ל Google Cloud. העזרה של Gemini יכולה לכלול המלצות, יצירת קוד ופתרון בעיות.

בין היתרונות הרבים של Gemini Cloud Assist, הוא יכול לעזור לכם:

  • צמצום עלויות: זיהוי משאבים לא פעילים, התאמת גודל ה-Deployment (פריסה) ואופטימיזציה של הגדרות התאמה אוטומטית לעומס (automatic scaling) כדי לצמצם הוצאות מיותרות.
  • שיפור האמינות והיציבות: זיהוי יזום של בעיות פוטנציאליות, כמו הטיה בגרסה או תקציבים חסרים להפרעות ב-Pod, כדי למנוע זמן השבתה ולהבטיח את עמידות האפליקציה.
  • אופטימיזציה של עומסי עבודה של AI/ML: קבלת עזרה בפריסה, בניהול ובאופטימיזציה של עומסי עבודה של AI/ML ב-GKE.
  • לפשט את פתרון הבעיות: לנתח במהירות את היומנים ולזהות את שורש הבעיה של השגיאות, וכך לחסוך זמן ומאמץ.

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

איך Gemini for Google Cloud ‎ משתמש בנתונים שלכם, ובאילו מקרים.

עלויות

  • Gemini: במהלך תקופת התצוגה המקדימה, השימוש ב-Gemini Cloud Assist לא כרוך בעלות.

  • GKE: אין עלויות נוספות לשימוש ב-Gemini Cloud Assist ב-GKE.

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

כדי להתחיל להשתמש ב-Gemini עם GKE, צריך לבצע את הפעולות הבאות.

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

יש לך שאלה ל-Gemini Cloud Assist?

אפשר להפעיל את Gemini Cloud Assist דרך מסוף Google Cloud . עם Gemini Cloud Assist, אתם יכולים להשתמש בהנחיות בשפה טבעית כדי לקבל עזרה במשימות במהירות וביעילות.

כדי לפתוח את Cloud Assist מדף GKE, פועלים לפי השלבים הבאים:

  1. בדף לבחירת הפרויקט במסוף Google Cloud , בוחריםGoogle Cloud פרויקט שבו הפעלתם את Gemini Cloud Assist.

    כניסה לדף לבחירת הפרויקט

  2. במסוף Google Cloud , עוברים לדף ספציפי במסוף Kubernetes Engine.

    לדוגמה, עוברים לדף Kubernetes Engine Overview.

    לסקירה הכללית של Kubernetes Engine

    אם יש לכם שאלה לגבי משאב ספציפי, קודם צריך לעבור לדף הרלוונטי. לדוגמה, בדף Clusters,‏ Gemini Cloud Assist יכול לתת לכם עצות לגבי ניהול האשכולות, מעקב אחר תקינות האשכולות ופתרון בעיות באשכולות. שימוש ב-Gemini בדף מסוים במסוף עוזר לספק הקשר לשאלות שלכם. Google Cloud ‫Gemini יכול להשתמש בהקשר הזה, יחד עם הפרויקט הכללי שבו אתם נמצאים, כדי ליצור עזרה מותאמת ומדויקת יותר.

  3. כדי לפתוח את החלונית של Gemini Cloud Assist, לוחצים על סמל הנצנוץ Open or close Gemini AI chat בסרגל הכלים.

  4. אם מתבקשים לעשות זאת ומסכימים לתנאים, לוחצים על אישור.

  5. מזינים הנחיה בחלונית של Gemini. בקטע הבא מופיעה דוגמה לתהליך עבודה של שימוש ב-Gemini לפתרון בעיות.

מידע נוסף על השימוש ב-Gemini במסוף Google Cloud זמין במאמר שימוש ב-Gemini Cloud Assist.

דוגמה לשימוש ב-Gemini לפתרון בעיות

‫Gemini יכול לעזור לכם לפתור בעיות בשירותי GKE.

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

    כניסה לדף Workloads

  2. בוחרים את עומס העבודה שרוצים לפתור בו בעיות.

  3. לוחצים על הכרטיסייה יומנים.

  4. בסרגל הכלים, לוחצים על סמל הנצנוץ Open or close Gemini AI chat.

  5. מזינים הנחיה שמתארת את הבעיה שנתקלתם בה. לדוגמה, "My accounts-db database application is experiencing high latency" (יש השהיה גבוהה באפליקציית מסד הנתונים שלי accounts-db). יכול להיות ש-Gemini יבקש עוד הקשר, כמו סוג מסד הנתונים, היקף ההשפעה, כמו הפעולות והמשתמשים שההשהיה משפיעה עליהם.

  6. ‫Gemini יכול לספק הנחיות לניתוח היומנים בעצמכם, ולתת הצעות לפתרון בעיות.

  7. צריך לבדוק את ההצעות ולפעול לפיהן כדי לפתור את הבעיה.

הנחיות לדוגמה ל-Gemini Cloud Assist

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

צמצום העלויות

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

הנחיה סוג התגובה
"איך אפשר לחסוך בעלויות של אשכולות GKE בלי לפגוע בביצועים?"
  • המלצות שמזהות משאבים שלא נעשה בהם שימוש מספיק ומציעות להסיר אותם, כמו אשכולות לא פעילים.
  • המלצות לגבי הפעלה או התאמה של מנגנוני שינוי גודל אוטומטי.
  • הצעות שמדגישות את החיסכון הפוטנציאלי באמצעות בדיקות של הגדרות, כמו מדיניות שמירת נתונים של יומנים.
"אני רוצה לשדרג את אשכול my-docker-cluster GKE שלי. יש לך המלצות?" הצעות להטמעה של הגדרות ספציפיות של Kubernetes ושיטות מומלצות, למשל:
  • הגדרת בקשות ומגבלות של משאבים לקבוצות Pod כדי להבטיח הקצאת משאבים צפויה.
  • שימוש במרחבי שמות ייעודיים כדי לבודד עומסי עבודה.
  • הטמעה של תקציבים להפרעות ב-Pod כדי להבטיח שמספר מינימלי של עותקים משוכפלים של Pod יהיו זמינים במהלך הפרעות רצוניות, כמו תחזוקה או שדרוגים של צמתים.
  • תזמון חלונות זמן לתחזוקה כדי לנהל שיבושים מתוכננים ולצמצם את זמני ההשבתה הלא צפויים.
  • רישום אשכולות לערוצי הפצה כדי לנהל שדרוגים של גרסאות GKE.
‫"I have a large traffic spike coming in a couple of weeks on the my-docker-cluster cluster. יש לך המלצות?"
  • שיטות להגדלת מספר ה-Pods של האפליקציה באמצעות Horizontal Pod Autoscaler (HPA).
  • אסטרטגיות להגדלת המשאבים (CPU, זיכרון) לכל Pod באמצעות Vertical Pod Autoscaler.
‫"Which of my GKE workloads don't have HPA enabled?" (באילו מעומסי העבודה שלי ב-GKE לא מופעל HPA?) רשימת עומסי העבודה שלא מופעל בהם Horizontal Pod Autoscaler.

שיפור המהימנות והיציבות

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

הנחיה סוג התגובה
"איך אפשר לשפר את המהימנות של אשכולות GKE ולמנוע השבתה?"
  • מזהה את ההבדלים בין הגרסאות באשכולות ומציע פעולות לשמירה על תאימות לגרסת Kubernetes.
  • מספק המלצות להטמעה של בידוד משאבים.
  • ההמלצה היא להגדיר תקציבים להפרעות ב-Pod כדי לשמור על מספר מינימלי של עותקים של Pod שפועלים במהלך תחזוקה מתוכננת או שדרוגים.
‫"Show me how I can move my workloads from the Default namespace on my-cluster."‏ (איך אפשר להעביר את עומסי העבודה שלי ממרחב השמות Default ב-my-cluster). כדי לעשות את זה, מבצעים את השלבים הבאים:
  • מכינים את אשכול היעד.
  • מעבירים את האפליקציות והנתונים לאשכול היעד.
  • העברת השירותים עם זמן השבתה מינימלי.
"איך אפשר להבטיח זמינות גבוהה של הפודים הפעילים?"
  • הליך מפורט שמציין פריסה שמשתמשת ב-podAntiAffinity, ובכמה רפליקות ליתירות.
  • הצעות להגדרת בקשות ומגבלות משאבים, ולשימוש בהתאמה אופקית של קבוצות Pod לעומס.

אופטימיזציה של GKE לעומסי עבודה של AI/ML

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

הנחיה סוג התגובה
"מהן ההגדרות המומלצות של מאגר הצמתים להרצת אימון TensorFlow מבוזר בקנה מידה גדול ב-GKE עם מעבדי GPU?" ההמלצות לאופטימיזציה של אימון מבוזר של למידת מכונה ב-TensorFlow ב-GKE יכולות לכלול את הפעולות הבאות:
  • בחירת סוגי ה-GPU והמכונות המתאימים.
  • הפעלת התאמה אוטומטית לעומס.
  • מתבצעת אופטימיזציה של קישוריות הרשת.
  • שימוש במסגרות עבודה של אימון מבוזר.
  • הטמעת אמצעים לחיסכון בעלויות.
"איך משתמשים ביחידות GPU ב-GKE לצורך אימון?" סקירה כללית של השלבים והשיקולים להגדרת אשכול ועומסי עבודה לשימוש במעבדי GPU.
"תן לי דוגמה לפריסה של קונטיינר להצגת מודל ב-GKE". דוגמה עם קוד לדוגמה לפריסת קונטיינר לפרסום המודל ב-GKE. הדוגמה עשויה לכלול שיטות מומלצות ולעזור להבטיח יכולת הרחבה.
"אילו מדדים כדאי לעקוב כדי להעריך את האפקטיביות של הגדרת איזון העומסים שלי להסקת מסקנות?" רשימת המדדים – כמו חלוקת התנועה, זמן האחזור, שיעורי השגיאות, המעבד וניצול הזיכרון – כדי לקבל תובנות לגבי הביצועים והתקינות של הגדרת איזון העומסים.

פתרון בעיות פשוט יותר

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

הנחיה סוג התגובה
"What's this error about?
Readiness probe failed: Get "https://10…./abcd": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"
ההסבר הוא ש-kubelet לא הצליח להפעיל את בדיקת המוכנות של הקונטיינר בתוך פרק הזמן שהוגדר, ומוצעות סיבות אפשריות ופעולות לפתרון בעיות.
"למה הפריסה nettools קורסת עם השגיאה ping: socket: Operation not permitted?" ההסבר כולל את העובדה שהפקודה ping דורשת את היכולת Security Context, ושהקונטיינרים ב-Kubernetes פועלים כברירת מחדל עם קבוצה מוגבלת של יכולות מטעמי אבטחה.CAP_NET_RAW
"מה המשמעות של שגיאה Cannot schedule pods: No preemption victims found for incoming pod. שמונעת את התזמון של הפוד שלי" הסבר על האופן שבו מתבצע תזמון של Pod ועל האופן שבו מתבצעת קדימות ב-Kubernetes. מפורטים בה השלבים לפתרון בעיות שקשורות לכך שלא נמצאה קורבן להפקעה.

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