שיפור השירותים ב-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". יכול להיות ש-Gemini יבקש עוד הקשר, כמו סוג מסד הנתונים, היקף ההשפעה, כמו הפעולות והמשתמשים שההשהיה משפיעה עליהם.

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

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

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

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

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

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

הנחיה סוג התגובה
"איך אפשר לחסוך בעלויות של אשכולות GKE בלי לפגוע בביצועים?"
  • המלצות שמזהות משאבים שלא מנוצלים מספיק, כמו אשכולות לא פעילים, ומציעות להסיר אותם.
  • המלצות לגבי הפעלה או שינוי של מנגנוני התאמה אוטומטית לעומס.
  • הצעות שמדגישות את החיסכון הפוטנציאלי באמצעות בדיקות של הגדרות, כמו מדיניות שמירת נתונים של יומנים.
"אני רוצה לשדרג את אשכול GKE מספר my-docker-cluster. יש לך המלצות?" הצעות להטמעה של הגדרות ספציפיות של 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 (HPA).

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

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

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

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

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

הנחיה סוג התגובה
"מהן ההגדרות המומלצות של מאגר הצמתים להרצת אימון TensorFlow מבוזר בקנה מידה גדול ב-GKE עם מעבדי GPU?" ההמלצות לאופטימיזציה של אימון מבוזר של למידת מכונה ב-TensorFlow ב-GKE יכולות לכלול את הפעולות הבאות:
  • בחירת סוגי ה-GPU והמכונות המתאימים.
  • הפעלת התאמה אוטומטית לעומס.
  • מתבצעת אופטימיזציה של קישוריות הרשת.
  • שימוש במסגרות הדרכה מבוזרות.
  • הטמעת אמצעים לחיסכון בעלויות.
"איך משתמשים ב-GPU ב-GKE לאימון?" סקירה כללית של השלבים והשיקולים להגדרת אשכול ועומסי עבודה לשימוש במעבדי GPU.
‫"Give me an example of deploying a model serving container on GKE"‏ (תן לי דוגמה לפריסת קונטיינר לפרסום המודל ב-GKE). דוגמה עם קוד לדוגמה לפריסת קונטיינר לפרסום המודל ב-GKE. הדוגמה עשויה לכלול שיטות מומלצות ולעזור להבטיח יכולת הרחבה.
"אילו מדדים כדאי לעקוב כדי להעריך את האפקטיביות של הגדרת איזון העומסים שלי להסקת מסקנות?" רשימת המדדים – כמו חלוקת התנועה, זמן האחזור, שיעורי השגיאות, המעבד וניצול הזיכרון – כדי לקבל תובנות לגבי הביצועים והתקינות של הגדרת איזון העומסים.

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

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

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

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