בדף הזה מפורטות בעיות ידועות ב-GKE. הדף הזה מיועד לאדמינים ולארכיטקטים שמנהלים את מחזור החיים של תשתית הטכנולוגיה הבסיסית, ומגיבים להתראות ולדפים כשלא עומדים ביעדי רמת השירות (SLO) או כשהאפליקציות נכשלות.
בדף הזה מפורטות בעיות מוכרות בכל הגרסאות הנתמכות ובשתי גרסאות המשנה שקודמות לגרסה המוקדמת ביותר בתמיכה המורחבת. אחרי שגרסה מסיימת את תקופת התמיכה המורחבת שלה, כל הבעיות שקשורות לגרסה N-2 מוסרות. לדוגמה, כשגרסה 1.30 מגיעה לסוף התקופה של התמיכה המורחבת, אנחנו מסירים בעיות מוכרות שספציפיות לגרסאות 1.28 ואילך.
אם אתם משתתפים ב-Google Developer Program, כדאי לשמור את הדף הזה כדי לקבל התראות כשמתפרסם הערת גרסה שקשורה לדף הזה. מידע נוסף זמין במאמר בנושא דפים שמורים.
כדי לסנן את הבעיות הידועות לפי גרסת מוצר או קטגוריה, בוחרים את המסננים מהתפריטים הנפתחים הבאים.
בוחרים את גרסת GKE:
בוחרים את קטגוריית הבעיה:
אפשר גם לחפש את הבעיה:
| קטגוריה | גרסאות שזוהו | גרסאות קבועות | הבעיה והפתרון העקיף |
|---|---|---|---|
| שדרוגים | 1.34.9-gke.1065000 ואילך, 1.35.6-gke.1049000 ואילך, וכל גרסאות התיקונים של 1.36 | TBD |
כשלים בעומס העבודה של GPU ב-A4X Max (GB300)יצירה או שדרוג של מאגרי צמתים מסוג GKE A4X Max ( פתרון עקיף: מוחקים את כל מאגרי הצמתים של A4X Max שמופעלות בהם גרסאות מושפעות, ויוצרים מחדש את מאגרי הצמתים באמצעות גרסה קודמת שלא מושפעת. שימו לב: מכיוון שקיבולת A4X Max חייבת להתקבל באמצעות הזמנה, לא תאבדו קיבולת אם תמחקו את מאגרי הצמתים. מערכת GKE מונעת יצירה של מאגרי צמתים של A4X Max עם גרסאות מושפעות, ולא תשדרג אוטומטית את מאגרי הצמתים לגרסאות מושפעות. ב-GKE אפשר לבצע שדרוגים ידניים. עם זאת, כדי להימנע מהכשלים, אנחנו ממליצים לא לשדרג לגרסאות המושפעות. |
| פעולה | גרסאות 1.33 מוקדמות יותר מ-1.33.5-gke.2469000, גרסאות 1.34 מוקדמות יותר מ-1.34.1-gke.2037001 | 1.33.5-gke.2469000 ואילך, 1.34.1-gke.2037001 ואילך, 1.35 ואילך |
צמתי GPU או TPU נתקעים עם כתמי impending-node-termination אחרי תחזוקת המארחבאשכולות GKE עם צמתי האצה (GPU או TPU) שמריצים גרסאות מושפעות, יכול להיות שהצמתים יישארו תקועים עם ההגדרות פתרון עקיף: כדי לפתור את הבעיה של המצב התקוע, צריך להסיר באופן ידני את התוויות הפעילות של תחזוקה מנוהלת ב-GKE ואת ה-taints מהצמתים המושפעים. אם תסירו רק את ה-taints, בקר התחזוקה של GKE יחיל אותם מחדש באופן אוטומטי. כדי לנקות את התוויות וההכתמות, מריצים את הפקודות הבאות: kubectl label nodes NODE_NAME cloud.google.com/active-node-maintenance- kubectl label nodes NODE_NAME cloud.google.com/scheduled-maintenance-time- kubectl label nodes NODE_NAME cloud.google.com/scheduled-maintenance-time-latest- kubectl taint nodes NODE_NAME cloud.google.com/impending-node-termination- kubectl taint nodes NODE_NAME cloud.google.com/maintenance-window-started- מחליפים את |
| פעולה |
|
1.34.1-gke.1829001 ואילך |
כניסה של Pod נכשלה בעומסי עבודה של TPU v7 בגלל דיווח על מספר שגוי של שבבים.GKE מפרסם באופן שגוי שמונה שבבי TPU שניתנים להקצאה עבור מאיצי TPU מדור 7 (tpu7x) עם טופולוגיה של 2x2x1, שבפועל מכילים רק ארבעה שבבים. חוסר התאמה בדיווח הזה מונע תזמון של Pods לעומסי עבודה של TPU v7. הארכיטקטורה של TPU v7 עם שני שבבים לא מטופלת בצורה נכונה בגרסאות קודמות, ולכן יש כשלים בהקצאת משאבים ב-Pod. בהתאם למשאבי ה-TPU המבוקשים, השגיאות הבאות מתרחשות:
פתרון עקיף: כדי לפתור את הבעיה, צריך לשדרג את אשכול GKE לגרסה 1.34.1-gke.1829001 ואילך. |
| פעולה | 1.35.3-gke.1234000 ואילך | TBD |
לקוח Lustre לא משתמש בכרטיסי NIC משניים בצמתים עם multi-NICבצמתי GKE עם כמה כרטיסי ממשק רשת (NIC), דרייבר ה-CSI של Managed Lustre מופעל כברירת מחדל כדי להשתמש בכל כרטיסי ה-NIC הזמינים לצבירת רוחב פס על ידי פיזור תעבורת אחסון TCP על פני ממשקי הרשת. עם זאת, בגלל בעיה מוכרת, יכול להיות שלקוחות Lustre החל מגרסה פתרון עקיף: אם עומסי העבודה שלכם דורשים צבירת רוחב פס של multi-NIC עבור Managed Lustre, צריך לשנמך את מאגרי הצמתים לגרסת GKE מוקדמת יותר מ-1.35.3-gke.1234000, כמו 1.35.2-gke.1842000. |
| פעולה | 1.35 ואילך | TBD |
פסק זמן לחיבור או שהחיבור נדחה להפניות אוטומטיות לשרת המטא-נתונים של GKEב-GKE בגרסה 1.35 ואילך, עומסי עבודה שמשתמשים ב-Workload Identity כדי לבצע אימות ל-Google Cloud APIs עשויים לחוות פסק זמן זמני בחיבור או חיבורים שנדחים לשרת המטא-נתונים של GKE מיד אחרי הפעלת הצומת. פתרון עקיף: המלצות ופתרונות עקיפים זמינים במאמר בנושא פתרון בעיות שקשורות לפסק זמן בהפעלה של Pod. |
| פעולה | 1.33.8-gke.1026000 ואילך | 1.35.1 ואילך |
gVisor shim נכשל בניקוי, מתועדת שגיאה
|
| פעולה | 1.35.0-gke.2232000 ואילך | 1.35.3-gke.1.35.3-gke.1290000 ואילך |
נפחים דינמיים חוזרים לסוג הדיסק שמוגדר כברירת מחדליכול להיות שעומסי עבודה שמשתמשים בנפחים דינמיים ב-GKE בגרסה 1.35.0-gke.2232000 ואילך לא יצליחו לתזמן או לצרף. הבעיה הזו יכולה גם לגרום להקצאת נפחים באמצעות חלופת ברירת המחדל הסיבה לכך היא ששרת הצומת PDCSI לא מאכלס את האובייקט פתרון עקיף: שדרוג לגרסה 1.35.3-gke.1290000 ואילך. |
| שדרוגים ועדכונים |
|
|
בעיות בהפעלה של Pod במהלך שדרוגים ל-GKE 1.35 באשכולות GKE Dataplane V2אשכולות שמשדרגים את מישור הבקרה לגרסה 1.35.0-gke.2232000 ואילך של GKE מגרסאות
anetd DaemonSet.
אם עומסי עבודה חדשים מתוזמנים להפעלה בצומת עם גרסה לא עדכנית של
הסיבה לכך היא ש-GKE משתמש ב-Operator identity-management-mode, שבו כל הסוכנים וה-Operator צריכים להציג תצוגה מסונכרנת של identity-relevant labels. החל מ-GKE 1.35.0-gke.2232000, התוויות פתרון עקיף:
|
| שדרוגים ועדכונים |
|
|
עיכובים בתזמון של Podים בצמתים חדשים עם מדיניות רשת ב-Kubernetes Calico מופעלת
באשכולות GKE שבהם מופעלת מדיניות רשת ב-Kubernetes Calico, רגרסיה
בגרסאות המושפעות עלולה לגרום לעיכובים משמעותיים בתזמון של Pod בצמתים חדשים או בצמתים שנוצרו מחדש.
העיכובים האלה עלולים לגרום לכך שהצמתים יישארו במצב הבעיה נגרמת בגלל שסקריפט לטעינה בזמן ההפעלה של Calico CNI מעצב באופן שגוי את כתובת ה-URL של שרת Kubernetes API עבור כתובות IPv4, על ידי הוספת סוגריים מרובעים ([]) מסביב לכתובת. הגישה הזו מובילה לשגיאת ניתוח של כתובת ה-URL כשיוצרים ארגזי חול חדשים של Pod, שמופיעה ביומני kubelet:
פתרון עקיף: גרסת רכיב Calico נקבעת לפי גרסת מישור הבקרה של האשכול. כדי לפתור את הבעיה, צריך לשדרג את רמת הבקרה של האשכול לאחת מהגרסאות המתוקנות. אחרי שמשדרגים את מישור הבקרה, צריך ליצור מחדש את הצמתים במאגרי הצמתים כדי לוודא שהם משתמשים בפורמט הנכון של כתובת השרת של Kubernetes API. כדי לעשות את זה, אפשר לבצע שדרוג במקום של מאגר הצמתים לאותה גרסה או לגרסה חדשה יותר, או ליצור מחדש את מאגרי הצמתים באופן ידני. |
| ביצועים |
|
|
הביצועים של רשתות לשימוש כללי יורדים בסדרות A ובסוגי מכונות G4 GPUבאשכולות GKE עם צומתי GPU מסדרות A ו-G4, הביצועים של רישות למטרות כלליות ב-GKE 1.32.8-gke.1134000 ואילך עבור GKE 1.32, וב-GKE 1.33.3-gke.1392000 ואילך, נמוכים יותר. הירידה בביצועים ברשתות לשימוש כללי משפיעה על סוגי מכונות GPU, כולל סדרת מכונות A3, סדרת מכונות A4, סדרת מכונות A4X וסדרת מכונות G4. שימו לב ש-GPUDirect-TCPXO ב-A3 Mega ו-GPUDirect-RDMA ב-A3 Ultra, A4 ו-A4X לא מושפעים. הסיבה לכך היא שהסקריפט ברמת הצומת ( פתרון עקיף: משדרגים כל מאגר צמתים שהושפע לגרסה מתוקנת. |
| ביצועים |
|
|
הביצועים של GPUDirect-TCPX יורדים ב-A3 Highבאשכולות GKE עם צמתים מסוג A3 High ( הסיבה לכך היא שהסקריפט ברמת הצומת ( פתרון עקיף: במאגרי צמתים של GKE 1.32, משדרגים את גרסאות מאגר הצמתים של GKE לגרסה 1.32.11-gke.1075000 ואילך. במאגרי צמתים של GKE מגרסה 1.33 ואילך, צריך לשדרג את גרסאות מאגרי הצמתים של GKE לגרסה 1.33.5-gke.2392000 ואילך.1392000. למאגרי צמתים של GKE 1.34, אפשר לעיין במאמר GPUDirect-TCPX לא זמין עם A3 High ב-GKE מגרסה 1.34 ואילך. |
| שדרוגים | 1.35 |
1.35.0-gke.2232000 ואילך. |
שכפול זהויות של Cilium באשכולות GKE Dataplane V2באשכולות GKE שמופעלת בהם גרסה 1.35 עם GKE Dataplane V2, יכול להיות שיהיה גידול במספר המשאבים המותאמים אישית גם באשכולות אזוריים וגם באשכולות אזוריים, תזמון של עומס עבודה חדש עלול לגרום לשכפול זמני של זהות Cilium. הכפילות הזו מתרחשת כי ל-Pods יש זהות אחת בזמן היצירה על סמך תוויות ראשוניות, ועוד זהות אחרי שמוסיפים תוויות טופולוגיה כשה-Pod מתוזמן לצומת. באשכולות אזוריים, מספר הזהויות עשוי לגדול גם בפקטור שפרופורציונלי למספר האזורים שהאשכול משתרע עליהם. השפעה: אם המספר הכולל של הזהויות עולה על 65,535, יכול להיות שתזמון של עומסי עבודה חדשים ייכשל. פתרון עקיף: כדי להגביל את המספר הכולל של הזהויות, אל תוסיפו ל-Pods תוויות עם מספר גדול של ערכים ייחודיים. מידע נוסף זמין במאמרי העזרה הבאים של Cilium: צריך לבצע שדרוגים ידניים מגרסאות 1.34.3-gke.1208000 ואילך. אם תתחילו את השדרוג מגרסה מוקדמת יותר מ-1.34.3-gke.1208000, יכול להיות שתיתקלו בבעיות זמניות בתזמון של Pod במהלך תהליך השדרוג. |
| שדרוגים |
|
בנוסף, צריך להשתמש בגרסה 3.1.9 ואילך של GPUDirect-TCPX installer ובגרסה 2.0.12 ואילך של sidecar. הגרסאות של תוכנת ההתקנה ושל קובץ העזר ממופות אחת לאחת, והן חייבות להיות זהות. לדוגמה, גרסת המתקין של GPUDirect-TCPX 3.1.12 תואמת לגרסת ה-sidecar 2.0.15. מידע נוסף על גרסאות של קובצי התקנה ו-sidecar זמין בהערות לגבי הגרסה של GPUDirect-TCPX. |
GPUDirect-TCPX לא זמין עם A3 High בגרסאות GKE ספציפיותאשכולות GKE עם צמתים מסוג A3 High ( סוגי מכונות אחרים של GPU מסוג A3 High ( פתרון: כדי לפתור את הבעיה, צריך לשדרג לתיקוני GKE גרסה קבועה. לפרטים על הגדרה ושדרוג של מאגרי צמתים עם GPUDirect-TCPX, אפשר לעיין במאמרים הגדלת רוחב הפס של רשת ה-GPU באשכולות רגילים או הגדלת רוחב הפס של רשת ה-GPU באשכולות Autopilot. כשמריצים בדיקות של NCCL בגרסאות קבועות, יכול להיות שיוצגו האזהרות הבאות שלא משפיעות על הביצועים או על הפונקציונליות:
|
| פעולה | כל הגרסאות לפני 1.34.0-gke.2285000 | 1.34.0-gke.2285000 ואילך |
עדכון הקיבולת המינימלית של המופעהתפוסה המינימלית למכונות Managed Lustre עודכנה ל-9,000GiB. במערכות הפעלה של אשכולות בגרסאות שקודמות ל-1.34.0-gke.2285000, אי אפשר ליצור מכונות עם הקיבולת המינימלית הזו באמצעות מנהל ההתקן של Managed Lustre CSI. פתרון עקיף: כדי ליצור מופעים מנוהלים של Lustre עם קיבולת מינימלית של 9,000GiB, צריך לשדרג את גרסת האשכול ל-1.34.0-gke.2285000 ואילך. |
| פעולה | כל הגרסאות | TBD |
ממשק המשתמש של מסוףGoogle Cloud הופך ללא ניתן לעריכה במהלך תיקון אוטומטי של הצומתכשצומת GKE עובר תיקון אוטומטי, אי אפשר לערוך את מאגר הצמתים דרך Google Cloud המסוף בגלל פעולה שמתבצעת. פתרון עקיף: עדיין אפשר לערוך את ההגדרות של מאגר הצמתים באמצעות פקודות של ה-CLI של gcloud. |
| פעולה | גרסאות 1.33 לפני 1.33.4-gke.1036000 | 1.33.4-gke.1036000 ואילך |
רמת הביצועים שגויה במכונות Lustre עם הקצאת משאבים דינמיתכשמבצעים הקצאה דינמית של מופע Lustre, יצירת המופע נכשלת עם שגיאת פתרון עקיף: משדרגים את אשכול GKE לגרסה 1.33.4-gke.1036000 ואילך. אם אתם משתמשים בערוץ היציב, יכול להיות שגרסה חדשה יותר עדיין לא זמינה. במקרה כזה, אפשר לבחור באופן ידני גרסה מהערוצים הרגילים או המהירים שכוללת את התיקון. |
| פעולה |
|
1.33.3-gke.1266000 ואילך |
שגיאת קלט/פלט כשמשנים את השם של קבצים או מעבירים אותם באמצעות מנהל התקן ה-CSI של Cloud Storage FUSEכשמשתמשים בגרסה מושפעת של מנהל התקן ה-CSI של Cloud Storage FUSE, יכול להיות ששינוי שם של קבצים או העברה של קבצים בקטגוריות של Cloud Storage ייכשלו עם שגיאת קלט/פלט. פתרון עקיף: מוסיפים באופן זמני הגדרה ספציפית של תמונת sidecar למניפסט של ה-Pod. בקטע # Add the following block to use the fixed sidecar image - name: gke-gcsfuse-sidecar image: gcr.io/gke-release/gcs-fuse-csi-driver-sidecar-mounter:v1.8.9-gke.2 מידע נוסף זמין במאמר בנושא הגדרת תמונה פרטית עבור קונטיינר sidecar. אחרי שמשדרגים את האשכול לגרסה קבועה של GKE או לגרסה חדשה יותר, צריך להסיר את כל הבלוק |
| רישום ביומן ומעקב | כל הגרסאות | TBD |
מרוץ תהליכים ב-
|
| שדרוגים | 1.33 | 1.33.2-gke.1043000 |
הגבלת מספר הקבצים הפתוחים ב-containerd 2.0במאגרי צמתים שפועלת בהם גרסה 1.33 של GKE, שמשתמשת ב-containerd 2.0, המגבלה הרכה שמוגדרת כברירת מחדל לקבצים פתוחים ( זהו שינוי ב-containerd עצמו (ראו containerd PR #8924) שבו עומסי עבודה שמצפים למגבלה רכה גבוהה יותר כברירת מחדל (לדוגמה, עומסי עבודה שמסתמכים באופן מרומז על ברירת המחדל הקודמת והגבוהה יותר) עלולים להיכשל, למשל עם שגיאות פתרון: שדרוג מגרסת תיקון קודמת של 1.33 לגרסה 1.33.2-gke.1043000 ואילך. פתרון עקיף: כדי להגדיל את מכסת הקבצים הפתוחים לעומסי העבודה, אפשר להשתמש באחת מהשיטות הבאות:
|
| שדרוגים | 1.31.5-gke.1169000, 1.32.1-gke.1376000 | 1.31.7-gke.1164000, 1.32.3-gke.1512000 |
Invalid CRD status.storedVersions for managed CRDsיכול להיות שלחלק מ-CRD שמנוהלים על ידי GKE יש שדה הבעיה הזו משפיעה על אשכולות שעומדים בשני התנאים הבאים:
פתרון עקיף: הפתרון המומלץ הוא לדחות את השדרוגים של האשכולות עד שהבעיה תיפתר. לחלופין, אם אתם יודעים שהאשכול שלכם מכיל גרסאות לא נתמכות של אובייקטים מסוג CRD, אתם יכולים להוסיף את הגרסאות האלה לשדה |
| פעולה, רישום ביומן ומעקב | 1.32.2-gke.1652000, 1.31.6-gke.1221000, 1.30.10-gke.1227000 |
|
מדדים חסרים או שהמידרוג האוטומטי של עומס העבודה לא פועליכול להיות שתבחינו בפערים בנתוני המדדים בגרסאות המושפעות אחרי שגודל האשכול גדל ביותר מחמישה צמתים. יכול להיות שהבעיה הזו תשפיע גם על פעולות של שינוי גודל אוטומטי. הבעיה הזו משפיעה רק על אשכולות ששודרגו לגרסאות המושפעות. אשכולות חדשים שנוצרו אמורים לפעול כצפוי. פתרון עקיף: אם אתם מושפעים מהבעיה, אתם יכולים לשנמך גרסה אחת של תיקון או לשדרג לגרסאות החדשות יותר עם התיקון. |
| פעולה |
מגבלות הגודל והקבצים המצורפים של Google Cloud Hyperdiskבדרך כלל, אם אי אפשר לתזמן פוד בגלל מגבלות על צירוף נפח של צומת, מופעל ניהול הקצאות אוטומטי של צומת חדש. כשמריצים עומסי עבודה שמשתמשים במוצר Hyperdisk ומתוזמנים לצומת שמריץ מכונה וירטואלית מסוג C3, לא מתבצעת הקצאת צמתים אוטומטית (NAP) וה-Pod מתוזמן לצומת שכבר מלא. עומס העבודה מתוזמן לצומת למרות שאין דיסק זמין לצירוף. גם הפעלת עומס העבודה נכשלת, בגלל שגיאה כמו הבאה: AttachVolume.Attach failed for volume "[VOLUME NAME]" : rpc error: code = InvalidArgument desc = Failed to Attach: failed when waiting for zonal op: rpc error: code = InvalidArgument desc = operation operation-[OPERATION NUMBERS] failed (UNSUPPORTED_OPERATION): Maximum hyperdisk-balanced disks count should be less than or equal to [16], Requested : [17] הבעיה קיימת בכל מוצרי Hyperdisk במכונות C3. מגבלות הצירוף של Hyperdisk משתנות בהתאם למספר ליבות ה-vCPU של מכונת ה-VM ולמוצר Hyperdisk. מידע נוסף זמין במאמר בנושא מגבלות הביצועים של Hyperdisk. פתרון עקיף: מוצרי Google Cloud Hyperdisk מפעילים הקצאת משאבים אוטומטית בצורות אחרות של מכונות וירטואליות. מומלץ להשתמש בצורה שתומכת רק ב-Hyperdisk של Google Cloud. |
||
| פעולה | 1.32.3-gke.1927000, 1.32.3-gke.1785000, 1.32.3-gke.1717000, 1.32.3-gke.1440000, 1.32.3-gke.1170000, 1.32.3-gke.1250000, 1.32.3-gke.1671000, 1.32.3-gke.1596000, 1.32.3-gke.1298000 |
תהליך gke-metadata-server נקטע בגלל חריגה מזיכרון בצמתים של TPU/GPUבצמתי TPU ב-GKE (לדוגמה, פתרון עקיף: אם אתם רואים אירועים של |
|
| פעולה |
|
|
יכול להיות ששינוי הגודל של נפחים נתקע בגלל סטטוס NodePendingResize תלוי ב-PVC.בגרסה 1.32, אשכולות עם צמתים בגרסה 1.31 או בגרססאות קודמות לא יצליחו לעדכן את הסטטוס של PersistentVolumeClaim במהלך שינוי הגודל. הסטטוס השגוי הזה מונע את תחילת הפעולות הבאות של שינוי הגודל, ולמעשה מונע שינוי גודל נוסף. ל-PVC במצב הזה יש שדה אם נוצר PVC בזמן שהאשכול היה בגרסה מושפעת, יכול להיות שהבעיה הזו תימשך גם אחרי שהאשכול ישודרג לגרסה ידועה שבה הבעיה תוקנה. בתרחיש הזה, צריך להחיל תיקון על ה-PVC כדי להסיר את השדה פתרון עקיף: אפשר להחיל תיקון על PVCs שנתקעו בגלל סטטוס dangling כדי להסיר את הסטטוס הזה. כדי להסיר את הסטטוס 'תלוי ועומד', אפשר להשתמש בפקודת תיקון כמו זו שבהמשך: kubectl patch pvc $PVC_NAME --subresource='status' --type='merge' -p '{"status":{"allocatedResourceStatuses":null}}'kubectl patch pvc $PVC_NAME --subresource='status' --type='merge' -p '{"status":{"allocatedResources":null}}' |
| פעולה |
|
|
יכול להיות שהרישום ביומן של מנהל ההתקן PDCSI יהיה מוגזםיכול להיות שבאשכולות GKE בגרסאות ספציפיות של 1.32 יופיעו הודעות יומן מוגזמות מדרייבר PDCSI. הרישום העודף הזה ינצל את המכסה של Cloud Logging Write API. פתרון עקיף: כדי לצמצם את הרישום המוגזם הזה ביומן, אפשר להוסיף מסנן החרגה. כדי להחריג את הודעות היומן מהטמעה ב-Cloud Logging, משתמשים בשאילתה הבאה:
resource.type="k8s_container"
resource.labels.container_name="gce-pd-driver"
(sourceLocation.file="cache.go" OR "Cannot process volume group")
|
| תפעול |
|
|
פודים שמנסים לטעון כרכים קבועים של NFS בצמתי COS שבעבר הייתה להם טעינה לקריאה בלבד (RO) ייטענו רק במצב ROב-GKE בגרסה 1.27 ואילך, אפשר לטעון נפחי NFS באמצעות מנהל התקן ה-CSI של Kubernetes בתוך העץ רק כנפחים קבועים במצב RO אחרי טעינת RO קודמת באותו צומת. פתרון עקיף: שדרוג לאחור של מאגרי הצמתים לגרסה שקודמת לגרסאות המושפעות |
| תפעול |
|
פודים שמנסים לטעון כרכים קבועים של NFS בצמתי Ubuntu לא יוכלו לפעול.ב-GKE מגרסה 1.32 ואילך, לא תהיה אפשרות לטעון נפחי NFS באמצעות מנהל התקן ה-CSI של Kubernetes בתוך העץ בצמתים של Ubuntu. במקרה כזה, יכול להיות שיופיעו הודעות השגיאה הבאות: "MountVolume.SetUp failed for volume 'nfs-storage' : mount failed: exit status 1" Output: Mount failed: mount failed: exit status 127 "Output: chroot: failed to run command 'mount': No such file or directory failed to run command mount on Ubuntu nodes" בנוסף להודעות השגיאה האלה, לא תהיה אפשרות להפעיל את ה-Pods שמשתמשים באמצעי האחסון האלה. פתרון עקיף: שדרוג לאחור של מאגרי צמתים לגרסה 1.31. |
|
| פעולה | >= 1.28.15-gke.1436000, < 1.28.15-gke.1668000, >= 1.29.12-gke.1040000, < 1.29.13-gke.1028000, >= 1.30.8-gke.1053000, < 1.30.8-gke.1287000, >= 1.31.4-gke.1057000, < 1.31.6-gke.1020000, >= 1.32.0-gke.1281000, < 1.32.1-gke.1369000 |
|
יכול להיות שפודים שמשתמשים בקריאות מערכת שקשורות ל-io_uring ייתקעו במצב Terminating
יכול להיות שפודים שמשתמשים בקריאות מערכת שקשורות ל-io_uring ייכנסו למצב D (שינה של הדיסק), שנקרא גם TASK_UNINTERRUPTIBLE, בגלל באג בליבת לינוקס. אי אפשר להעיר תהליכים במצב D באמצעות אותות, כולל
כש-Pod מושפע מהבעיה הידועה הזו, יכול להיות שהקונטיינרים שלו לא יסיימו את הפעולה בצורה תקינה. בלוגים של containerd, יכול להיות שתראו הודעות חוזרות שדומות להודעה הבאה:
או
הסימפטומים האלה מצביעים על תהליכים בתוך הקונטיינר שנתקעו במצב שינה שלא ניתן להפריע לו (מצב D), מה שמונע את הסיום התקין של ה-Pod.
עומסי עבודה שמשתמשים ב-io_uring באופן ישיר, או שמשתמשים ב-io_uring באופן עקיף דרך זמן ריצה של שפה כמו NodeJS, עשויים להיות מושפעים מהבעיה הידועה הזו. עומסי עבודה מושפעים כוללים תהליך במצב D (שינה של הדיסק) בקובץ פתרון עקיף: משדרגים את צמתי האשכול לגרסה מתוקנת או לגרסה חדשה יותר. |
| פעולה | 1.28, 1.29, 1.30, 1.31 |
|
עומסי עבודה שמשתמשים בסטרימינג של תמונות נכשלים עם שגיאות אימותבאג בתכונה Image streaming עלול לגרום לעומסי עבודה להיכשל אם מתקיימים תנאים ספציפיים בזמן שהקונטיינר קורא קבצים. יכול להיות שיופיעו הודעות שגיאה שקשורות לכשלים באימות ביומן של gcfsd.
כדי לבדוק אם אתם מושפעים מהבעיה, מחפשים ביומנים באמצעות שאילתת החיפוש הבאה:
השגיאות האלה מצביעות על כך שהצמתים מושפעים. אם הבעיה הזו משפיעה עליכם, אתם יכולים לשדרג את מאגרי הצמתים לגרסה מתוקנת של GKE. |
| פעולה |
|
|
שיעורי פינוי גבוהים יותר של Pod בגרסאות GKE 1.30 ו-1.31
בגרסאות מסוימות של GKE 1.30 ו-GKE 1.31 שמשתמשות ב-COS 113 וב-COS 117 בהתאמה, יש ליבות שנבנו עם האפשרות
אפשרות ההגדרה יכול להיות שלא תמיד תראו שיעור חריג של הוצאת Pods כי הבעיה הזו תלויה בדפוס השימוש בזיכרון של עומס העבודה. קיים סיכון גבוה יותר ש-kubelet יסלק את ה-Pods עבור עומסי עבודה שלא הוגדרה להם מגבלת זיכרון בשדה resources. הסיבה לכך היא שעומסי העבודה עשויים לבקש יותר זיכרון ממה ש-kubelet מדווח כזמין. אם אתם רואים שימוש גבוה יותר בזיכרון של אפליקציה אחרי שמשדרגים לגרסאות GKE שצוינו בלי לבצע שינויים אחרים, יכול להיות שאתם מושפעים מאפשרות הליבה.
כדי לבדוק אם יש שיעורי הוצאה חריגים של Pod, מנתחים את המדדים הבאים באמצעות Metrics Explorer:
אפשר להשתמש בשאילתות PromQL הבאות. מחליפים את הערכים של
max by (pod_name)(max_over_time(kubernetes_io:container_memory_used_bytes{monitored_resource="k8s_container",memory_type="non-evictable",cluster_name="REPLACE_cluster_name",namespace_name="REPLACE_namespace",metadata_system_top_level_controller_type="REPLACE_controller_type",metadata_system_top_level_controller_name="REPLACE_controller_name"}[${__interval}]))
sum by (pod_name)(avg_over_time(kubernetes_io:container_memory_request_bytes{monitored_resource="k8s_container",cluster_name="REPLACE_cluster_name",namespace_name="REPLACE_namespace",metadata_system_top_level_controller_type="REPLACE_controller_type",metadata_system_top_level_controller_name="REPLACE_controller_name"}[${__interval}]))
אם אתם רואים עליות חריגות בשימוש בזיכרון שחורגות מהזיכרון המבוקש, יכול להיות שעומס העבודה נדחק החוצה לעיתים קרובות יותר. דרך לעקיפת הבעיהאם אתם לא יכולים לשדרג לגרסאות המתוקנות ואם אתם מפעילים בסביבת GKE שבה אתם יכולים לפרוס Pods עם הרשאות, אתם יכולים להשבית את האפשרות Multi-Gen LRU באמצעות DaemonSet.
אחרי ש-DaemonSet פועל בכל מאגרי הצמתים שנבחרו, השינוי נכנס לתוקף באופן מיידי וחישוב השימוש בזיכרון של kubelet חוזר למצב תקין. |
| פעולה | 1.28, 1.29, 1.30, 1.31 |
|
תאי Pod נתקעים בסטטוס Terminating (הפסקת פעולה)באג בזמן הריצה של הקונטיינר (containerd) עלול לגרום לכך שקובצי Pod וקונטיינרים ייתקעו במצב Terminating עם שגיאות דומות לאלה: OCI runtime exec failed: exec failed: cannot exec in a stopped container: unknown
אם הבעיה הזו משפיעה עליכם, אתם יכולים לשדרג את הצמתים לגרסת GKE עם גרסה קבועה של containerd. |
| פעולה |
|
|
הסטרימינג של התמונה נכשל בגלל קישורים סמלייםבאג בתכונה Image streaming עלול לגרום לכך שמאגרי תגים לא יתחילו לפעול. יכול להיות שלא תצליחו ליצור קונטיינרים שפועלים בצומת עם סטרימינג של תמונות שמופעל בגרסאות ספציפיות של GKE, ותקבלו את השגיאה הבאה: "CreateContainer in sandbox from runtime service failed" err="rpc error: code = Unknown desc = failed to create containerd container: failed to mount [PATH]: too many levels of symbolic links"
פתרון עקיף: כדי לפתור את הבעיה, צריך לשדרג את מאגרי הצמתים לגרסה קבועה (1.35.6-gke.1005000 ואילך, או 1.36.0-gke.2459000 ואילך). אם אי אפשר לשדרג, אפשר לבדוק אם יש שכבות ריקות או שכבות כפולות. אם אתם לא מצליחים להסיר שכבות ריקות או שכבות כפולות, אתם צריכים להשבית את הזרמת התמונות. |
| פעולה | 1.27, 1.28, 1.29 |
|
הזרמת התמונה נכשלת בגלל קבצים חסריםבאג בתכונה 'הזרמת תמונות' עלול לגרום לכשלים במאגרי תמונות בגלל קובץ או קבצים חסרים. יכול להיות שקונטיינרים שפועלים בצומת עם Image streaming מופעל בגרסאות הבאות לא יופעלו או יפעלו עם שגיאות שמציינות שקבצים מסוימים לא קיימים. דוגמאות לשגיאות כאלה:
אם הבעיה הזו משפיעה עליכם, אתם יכולים להשבית את הסטרימינג של התמונות. |
| נטוורקינג,שדרוגים ועדכונים | 1.28 |
שגיאה בהגדרת TLS של שערזיהינו בעיה בהגדרת TLS לשערי כניסה באשכולות שמופעלת בהם גרסת GKE 1.28.4-gke.1083000. הבעיה הזו משפיעה על הגדרות TLS שמשתמשות ב-SSLCertificate או ב-CertificateMap. אם משדרגים אשכול עם שערים קיימים, העדכונים שבוצעו בשער ייכשלו. במקרה של שערים חדשים, מאזני העומסים לא יוקצו. הבעיה הזו תיפתר בגרסת תיקון (patch) קרובה של GKE 1.28. |
|
| שדרוגים ועדכונים | 1.27 | גרסה 1.27.8 ואילך |
בעיה בפלאגין של מכשיר GPU
יכול להיות שיהיו בעיות באשכולות שמופעלים בהם מעבדי GPU ושודרגו מגרסה 1.26 לגרסת תיקון 1.27 מוקדמת יותר מ-1.27.8, בתוספים של מכשירי ה-GPU של הצמתים (
|
| פעולה | 1.27,1.28 |
|
השינוי האוטומטי של קנה המידה של כל עומסי העבודה מופסק
יכול להיות שהתכונות HorizontalPodAutoscaler (HPA) ו-VerticalPodAutoscaler (VPA) יפסיקו את ההתאמה האוטומטית של כל עומסי העבודה באשכול אם הוא מכיל אובייקטים של פתרון עקיף:
כדי לתקן אובייקטים של
מידע נוסף על הגדרת אובייקטים של |
| פעולה | 1.28,1.29 |
|
פריסת זיהוי איומים בקונטיינר נכשלתיכול להיות שפריסת התכונה 'זיהוי איומים בקונטיינרים' באשכולות Autopilot שפועלות בהם הגרסאות הבאות של GKE תיכשל:
|
| רישות, שדרוגים | 1.27, 1.28, 1.29, 1.30 |
|
בעיות בקישוריות של
|
| Networking | 1.31, 1.32 |
|
תעבורת UDP שבורה בין Pods שפועלים באותו צומתבקטעים עם הגדרה של חשיפה בתוך הצומת יכול להיות שתנועת ה-UDP בין ה-Pods שפועלים באותו צומת תהיה פגומה. הבעיה מתרחשת כשמשדרגים את הצומת של אשכול GKE לגרסה הבאה של GKE או יוצרים אותו באמצעות אחת מהגרסאות הבאות של GKE:
הנתיב המושפע הוא תעבורת UDP מ-Pod ל-Pod באותו צומת דרך Hostport או Service. פתרון משדרגים את האשכול לאחת מהגרסאות המתוקנות הבאות:
|
| פעולה | 1.29,1.30,1.31 |
|
אי התאמה בין Ray Operator לבין הצפנת מסד נתונים ב-Cloud KMSחלק מהגרסאות של Ray Operator לא תואמות להצפנת מסד נתונים ב-Cloud KMS. פתרונות אפשריים: משדרגים את רמת הבקרה של האשכול לגרסה מתוקנת או לגרסה חדשה יותר. |
| שדרוגים ועדכונים | 1.30, 1.31 |
|
GPU Maintenance Handler Pod תקוע במצב CrashLoopBackOffבבעיה הזו, רכיבי ה-Pod של gpu-maintenance-handler נתקעים במצב CrashLoopBackOff בצמתים המתאימים. המצב הזה מונע את הוספת התווית upcoming maintenance (תחזוקה בקרוב) לצומתי GKE, מה שיכול להשפיע על תהליכי ניקוז הצומת והוצאת הפודים עבור עומסי עבודה.
"Node upcoming maintenance label not applied due to error: Node "gke-yyy-yyy" is invalid: metadata.labels: Invalid value: "-62135596800": a valid label must be an empty string or consist of alphanumeric characters, '-','' or '.', and must start and end with an alphanumeric character (e.g.'MyValue', or 'my_value', or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9.]*)?[A-Za-z0-9])?')"
אם הבעיה הזו משפיעה עליכם, תוכלו לפתור אותה על ידי שדרוג מישור הבקרה לגרסת GKE שכוללת את התיקון. |
| פעולה | 1.33.1-gke.1522000 ואילך | 1.33.4-gke.1142000 ואילך |
הפעלת ה-Pods בצמתים עם הפעלת Image streaming נכשלת
יכול להיות שעומסי עבודה בצמתים שבהם מופעלת הזרמת תמונות לא יתחילו לפעול, עם חתימת השגיאה הבאה:
היומנים של היציאה הטורית של צומת מושפע מכילים גם את חתימת השגיאה הבאה:
הנוכחות של שני חתימות השגיאה האלה מצביעה על קיפאון באחד מרכיבי הסטרימינג של התמונות. הקיפאון הזה מונע הפעלה תקינה של ה-Pods. הפחתת הסיכון: כדי לצמצם את הסיכון במהירות, מפעילים מחדש את הצומת. שימו לב: יכול להיות שהצומת שהופעל מחדש ייתקל שוב בקיפאון. כדי להקטין את הסיכון, כדאי להשבית את הזרמת התמונות במאגר הצמתים באמצעות הפקודה הבאה: gcloud container node-pools update NODE_POOL_NAME --cluster CLUSTER_NAME --no-enable-image-streaming |
| פעולה |
|
|
Custom ComputeClasses עם
|
המאמרים הבאים
אם לא מצאתם פתרון לבעיה שלכם במסמכים, תוכלו לקבל עזרה נוספת במאמר בנושא קבלת תמיכה, כולל עצות בנושאים הבאים:
- פתיחת בקשת תמיכה באמצעות פנייה אל Cloud Customer Care.
- קבלת תמיכה מהקהילה על ידי פרסום שאלות ב-StackOverflow ושימוש בתג
google-kubernetes-engineכדי לחפש בעיות דומות. אפשר גם להצטרף לערוץ Slack#kubernetes-engineכדי לקבל תמיכה נוספת מהקהילה. - פתיחת דיווחים על בעיות או בקשות להוספת תכונות באמצעות הכלי הציבורי למעקב אחר בעיות.