בדף הזה מוסבר איך לפתור בעיות ב-Kubernetes controller manager (kube-controller-manager) ב-Google Distributed Cloud.
הבחירה של מנהיג נכשלה
יכול להיות שהשגיאה הזו תופיע באשכול אזורי או במישור בקרה משוכפל אם kube-controller-manager (KCM) מופעל מחדש באופן לא צפוי. יכול להיות שההפעלה מחדש תכלול יציאה מהאפליקציה או הפעלה מחדש על ידי kubelet. יכול להיות שיופיעו בהם הודעות leaderelection lost.
התרחיש הזה יכול לקרות כשהמנהיג בודק אם הוא עדיין מוביל באופן פעיל כחלק מבדיקת התקינות של KCM.
אם הלידר כבר לא מוביל או שבדיקת ההרשאה נכשלת, בדיקת תקינות המערכת מדווחת על מצב לא תקין, והלידר מופעל מחדש.
אפשר לאחזר את הסטטוס של בחירת המנהיג על ידי קבלת משאבי Lease של קבוצת coordination.k8s.io:
כדי לראות את כל ההשכרות, מריצים את הפקודה
kubectlהבאה:kubectl -n kube-system get leaseכדי לבדוק את הסטטוס של ליס מסוים, כמו
lease/kube-controller-manager, משתמשים בפקודהkubectl describeהבאה:kubectl -n kube-system describe lease/kube-controller-managerבקטע
Events, בודקים אם יש אירועים מסוגLeaderElection. בודקים מי מוביל את השיחה ומתי זה קורה. בדוגמת הפלט הבאה אפשר לראות שכשהצומת הראשון נסגר באופן ידני, הצומת השני תופס את מקומו באופן מיידי:Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal LeaderElection 26m kube-controller-manager control-plane_056a86ec-84c5-48b8-b58d-86f3fde2ecdd became leader Normal LeaderElection 5m20s kube-controller-manager control-plane2_b0475d49-7010-4f03-8a9d-34f82ed60cd4 became leaderאפשר גם לעקוב אחרי התהליך של איבוד מנהיגות וקבלת מנהיגות באמצעות המדד
kubernetes.io/anthos/leader_election_master_statusשמקובץ לפיname.
תהליך בחירת המנהיג מתרחש רק אם המנהיג הנוכחי נכשל. כדי לוודא שהפעולה נכשלה, אפשר לבדוק את המדדים kubernetes.io/anthos/container/uptime ו-kubernetes.io/anthos/container/restart_count שסוננו לפי container_name של kube-controller-manager.
אם נתקלים בבעיות בתהליך בחירת המנהיג שחוזר על עצמו או נכשל, כדאי לבדוק את ההמלצות הבאות לפתרון הבעיות:
- אם KCM מופעל מחדש כל כמה דקות או פחות, כדאי לבדוק ביומני KCM אם יש בקשות שנכשלו לשרת ה-API. בקשות שנכשלו מצביעות על בעיות בקישוריות בין הרכיבים, או על עומס יתר בחלק מהשירות.
- אם מנהל הבקר לא מצליח לתקשר עם שרת ה-API למשך זמן רב מדי, החידוש נכשל ומופע ה-KCM מאבד את ההובלה שלו, גם אם החיבור משוחזר מאוחר יותר.
- אם מישור הבקרה משוכפל, המנהיג החדש אמור להשתלט בצורה חלקה ללא השבתה. לא נדרשת שום פעולה. מישור הבקרה של אשכול מרובה עננים או אזורי תמיד משוכפל. אל תנסו להשבית את בחירת הליבה עבור מישור בקרה משוכפל. אי אפשר להפעיל מחדש את בחירת המנהיג בלי השבתה.
המאמרים הבאים
לקבלת עזרה נוספת, אפשר לפנות אל Cloud Customer Care.
אפשר גם לעיין במאמר קבלת תמיכה לקבלת מידע נוסף על מקורות מידע לתמיכה, כולל:
- דרישות לפתיחת בקשת תמיכה.
- כלים שיעזרו לכם לפתור בעיות, כמו יומנים ומדדים.
- רכיבים, גרסאות ותכונות נתמכים של Google Distributed Cloud ל-VMware (תוכנה בלבד).