אפשר להיעזר בשלבים האלה כדי לפתור בעיות שונות שעלולות להתרחש כשמשתמשים ב-Kf SourcePackages.
האובייקט נתקע בתהליך המחיקה.
מריצים את הפקודה הבאה כדי לקבל את פרטי המשאב, ואז בודקים אם אחת מהסיבות שמופיעות בהמשך רלוונטית:
kubectl get sourcepackages.kf.dev -n SPACE_NAME SOURCEPACKAGE_NAME -o yamlCLI kf יכול לעזור לבדוק חלק מהבעיות:
kf doctor --space SPACE_NAME sourcepackage/SOURCEPACKAGE_NAME| סיבה אפשרית | פתרון |
|---|---|
| חותמת הזמן של המחיקה היא בעתיד. |
במקרה של הטיה בשעון, יכול להיות שהזמן לתפוגה |
| יש finalizers באובייקט. |
ה-Finalizers קיימים באובייקט, והם צריכים להיות מוסרים על ידי בקר שהגדיר אותם לפני שהאובייקט נמחק. אם רוצים לכפות מחיקה בלי לחכות לפונקציות ה-finalizer, צריך לערוך את האובייקט כדי להסיר אותן מהמערך כדי להסיר את ה-finalizer מאובייקט, משתמשים בפקודה מידע נוסף זמין במאמר בנושא שימוש ב-finalizers כדי לשלוט במחיקה. אזהרה: הסרה של finalizers בלי לאפשר לבקרים להשלים את הפעולה עלולה לגרום לשגיאות, לבעיות אבטחה, לאובדן נתונים או למשאבים יתומים. |
| יכול להיות שיש אובייקטים תלויים. |
יכול להיות שהאובייקט ממתין למחיקה של אובייקטים שתלויים בו לפני שהוא יימחק. מידע נוסף זמין במדריך בנושא איסוף נתונים מיותרים ב-Kubernetes. אדמין צריך לבדוק את כל האובייקטים במרחב השמות ובאשכול כדי לראות אם אחד מהם חוסם את המחיקה. אם אתם צריכים להסיר את האובייקט בלי לחכות לאובייקטים שתלויים בו, אתם יכולים להשתמש בדגל |
סחף במצב הגנרציה של האובייקט.
מריצים את הפקודה הבאה כדי לקבל את פרטי המשאב, ואז בודקים אם אחת מהסיבות שמופיעות בהמשך רלוונטית:
kubectl get sourcepackages.kf.dev -n SPACE_NAME SOURCEPACKAGE_NAME -o yamlCLI kf יכול לעזור לבדוק חלק מהבעיות:
kf doctor --space SPACE_NAME sourcepackage/SOURCEPACKAGE_NAME| סיבה אפשרית | פתרון |
|---|---|
| יש הבדלים בין גרסאות של אובייקטים. |
השגיאה הזו בדרך כלל מתרחשת כשבקר Kf לא קורא את הגרסה העדכנית של האובייקט. השגיאה הזו בדרך כלל נפתרת מעצמה אחרי שהרפליקות של Kubernetes מגיעות למודל עקביות הדרגתי, ובדרך כלל לא נדרשת פעולה מצד המשתמשים. |
התאמת האובייקט נכשלה.
מריצים את הפקודה הבאה כדי לקבל את פרטי המשאב, ואז בודקים אם אחת מהסיבות שמופיעות בהמשך רלוונטית:
kubectl get sourcepackages.kf.dev -n SPACE_NAME SOURCEPACKAGE_NAME -o yamlCLI kf יכול לעזור לבדוק חלק מהבעיות:
kf doctor --space SPACE_NAME sourcepackage/SOURCEPACKAGE_NAME| סיבה אפשרית | פתרון |
|---|---|
| לאובייקט יש TemplateError |
בדרך כלל השגיאה הזו קורית אם המשתמש הזין מאפיין לא תקין במפרט של המשאב המותאם אישית, או שההגדרה של המרחב או האשכול לא תקינה. כדי להבין את שורש הבעיה, המשתמש יכול לקרוא את הודעת השגיאה הארוכה יותר ב- |
| באובייקט יש שגיאה מסוג ChildNotOwned (התנגשויות בשמות) |
בדרך כלל, השגיאה הזו מצביעה על כך שהאובייקטים שהבקר מנסה ליצור כבר קיימים. זה קורה אם המשתמש יצר משאב K8s עם אותו שם שהבקר מנסה ליצור, אבל לרוב זה קורה אם המשתמש מוחק משאב ואז בקר Kf מנסה ליצור אותו מחדש. אם משאב צאצא עדיין קיים, הבעלים שלו יהיה המשאב הישן שכבר לא קיים. כדי לפתור את השגיאה, מומלץ למשתמש למחוק את המשאב המושפע ואז ליצור אותו מחדש. כדי למחוק את האובייקט, משתמשים בפקודת מחיקה של Kf או בפקודה כדי ליצור מחדש משאב, משתמשים בפקודת Kf. לדוגמה: |
| לאובייקט יש ReconciliationError |
בדרך כלל השגיאה הזו מציינת שמשהו השתבש בקריאת ה-HTTP שבוצעה (על ידי בקר Kf) לשרת Kubernetes API כדי ליצור או לעדכן משאב. כדי להבין את שורש הבעיה, המשתמש יכול לקרוא את הודעת השגיאה הארוכה יותר ב- |