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

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

בדף הזה נסביר איך לנווט בדפים של עומסי עבודה (workload) ואשכולות Kubernetes כדי לקבל סקירה כללית, לזהות בעיות פוטנציאליות (כמו צמתים שנמצאים תחת לחץ משאבים או Podים שנכשלים) ולעיין במשאבים ספציפיים כדי לקבל פרטים נוספים.

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

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

איתור בעיות באשכול

בדף Kubernetes clusters (אשכולות Kubernetes) מוצגת סקירה כללית של תקינות האשכולות. כדי לזהות בעיות באחד מהאשכולות, מתחילים בדף הזה.

הנה כמה דוגמאות לשימוש בדף הזה לפתרון בעיות:

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

חקירת אשכול ספציפי

אחרי שמגלים בעיה באשכול, אפשר לעיין במידע המפורט שמופיע בדף פרטים של האשכול כדי לפתור את הבעיה ולהבין את ההגדרה שלו.

כדי לעבור לדף Details של אשכול:

  1. עוברים לדף Kubernetes clusters.

    מעבר אל Kubernetes clusters

  2. בודקים את העמודה Name ולוחצים על שם האשכול שרוצים לחקור.

ריכזנו כאן כמה דוגמאות לאופן שבו אפשר להשתמש בדף פרטים של האשכול כדי לפתור בעיות באשכול:

  • כדי לבצע בדיקות תקינות כלליות, אפשר לנסות את האפשרויות הבאות:

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

      • סקירה כללית: כאן אפשר לראות סיכום ברמה גבוהה של תקינות האשכול, ניצול המשאבים ואירועים מרכזיים. לוח הבקרה הזה עוזר לכם להעריך במהירות את המצב הכללי של האשכול ולזהות בעיות פוטנציאליות.
      • מדדי תנועה: אפשר לראות מדדי רשת שמבוססים על צמתים כדי לקבל תובנות לגבי התנועה בין עומסי העבודה של Kubernetes.
      • מצב עומס העבודה: אפשר לראות את המצב של פריסות, Pods וקונטיינרים. זיהוי מקרים של כשל או של חוסר תקינות, וזיהוי אילוצים של משאבים.
      • מישור הבקרה: הצגת התקינות והביצועים של מישור הבקרה. לוח הבקרה הזה מאפשר לעקוב אחרי מדדי מפתח של רכיבים כמו kube-apiserver ו-etcd, לזהות צווארי בקבוק בביצועים ולגלות כשלים ברכיבים.

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

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

  • אם אתם מנסים לפתור בעיות אחרי שדרוג או שינוי שבוצעו לאחרונה, כדאי לעיין בקטע Cluster basics בכרטיסייה Details של האשכול. מוודאים שהגרסה שמופיעה בשדה גרסה היא הגרסה שציפיתם לה. כדי לבדוק את הבעיה לעומק, לוחצים על הצגת היסטוריית השדרוגים בקטע שדרוגים.

  • אם אתם משתמשים באשכול רגיל וה-Pods תקועים במצב Pending, או אם אתם חושדים שהצמתים עמוסים מדי, כדאי לבדוק את הכרטיסייה Nodes. הכרטיסייה Nodes לא זמינה באשכולות Autopilot כי GKE מנהל את הצמתים בשבילכם.

    • בקטע מאגרי צמתים, בודקים שההתאמה האוטומטית לעומס מוגדרת בצורה נכונה ושהסוג של המכונה מתאים לעומסי העבודה.
    • בקטע Nodes (צמתים), מחפשים צומת עם סטטוס שונה מ-Ready. סטטוס NotReady מציין שיש בעיה בצומת עצמו, כמו עומס על המשאבים או בעיה ב-kubelet (ה-kubelet הוא הסוכן שפועל בכל צומת כדי לנהל את הקונטיינרים).

איתור בעיות בעומסי עבודה

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

הנה כמה דוגמאות לשימוש בדף הזה לפתרון בעיות:

  • כדי לזהות עומסי עבודה לא תקינים, בודקים את העמודה סטטוס. כל עומס עבודה שלא מופיע לידו סימן וי ירוק דורש התייחסות.
  • אם אפליקציה לא מגיבה, בודקים את העמודה Pods. לדוגמה, סטטוס כמו 1/3 מציין שרק אחת משלוש רפליקות של האפליקציה פועלת, וזה מעיד על בעיה.

בדיקה של עומס עבודה ספציפי

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

כדי לעבור לדף פרטים של עומס עבודה:

  1. עוברים לדף Workloads.

    כניסה לדף Workloads

  2. בעמודה Name (שם), לוחצים על שם עומס העבודה שרוצים לבדוק.

ריכזנו כאן כמה דוגמאות לאופן שבו אפשר להשתמש בדף Details של עומס העבודה כדי לפתור בעיות בעומסי העבודה:

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

  • כדי למצוא את השם של Pod ספציפי שקורס, עוברים לקטע Managed Pods. יכול להיות שתצטרכו את המידע הזה לפקודות kubectl. בקטע הזה מפורטים כל ה-Pods שנמצאים בשליטת עומס העבודה, יחד עם הסטטוסים שלהם.

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

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

  • כדי לראות את היומנים של האפליקציה, לוחצים על הכרטיסייה יומנים. בדף הזה מוסבר מה קורה בתוך האשכול. כאן אפשר למצוא הודעות שגיאה ונתוני מעקב אחר מחסנית (stack trace) שיכולים לעזור לכם לאבחן בעיות.

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

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