ניפוי באגים בבעיות בצמתים

בדף הזה מוסבר איך לנפות באגים בבעיות בצמתים ב-Google Distributed Cloud (תוכנה בלבד) ל-VMware באמצעות חבילה של כלים לניפוי באגים שהותקנו מראש.

סקירה כללית

כל אשכול של Google Distributed Cloud שאתם יוצרים מורכב מכמה צמתים. כל צומת כולל הפצה של CoreOStoolbox, סקריפט של מעטפת שפורק ומריץ קונטיינר לניפוי באגים, debug-toolbox. ‫debug-toolbox הוא קובץ אימג' של קונטיינר שכולל כמה כלים שימושיים לניפוי באגים.

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

כלים שכלולים בקונטיינר debug-toolbox

קונטיינר debug-toolbox מריץ קובץ אימג' של Debian שכולל את החבילות הבאות:

  • bash
  • curl
  • dnsutils
  • hping3
  • iperf3
  • lsof
  • netcat
  • mtr
  • procps
  • strace
  • tcpdump
  • traceroute
  • util-linux

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

שימוש ב-toolbox

  1. מתחברים ב-SSH לצומת של האשכול.

  2. מריצים את הפקודה toolbox:

    sudo toolbox

    הפקודה הזו מפעילה מאגר debug-toolbox.

  3. בתוך הקונטיינר, מריצים אחד מהכלים. לדוגמה, tcpdump.

  4. בסיום, יוצאים מהקונטיינר וסוגרים את חיבור ה-SSH לצומת.

Node Problem Detector

Node Problem Detector, שמופעל בכל הצמתים באשכול, עוזר לזהות במהירות כמה בעיות נפוצות בצמתים. הכלי Node Problem Detector ממשיך לבדוק אם יש בעיות אפשריות ומדווח עליהן כמו על אירועים ותנאים בצומת. אם צומת מתנהג בצורה לא תקינה, אפשר להריץ את הפקודה kubectl describe בצומת ולחפש את האירועים והתנאים המתאימים כדי לבדוק אם Node Problem Detector זיהה את הבעיה.

התנאים שנוצרים על הצומת מנוטרים על ידי Node Problem Detector. אם המצב שדווח הוא KubeletUnhealthy או ContainerRuntimeUnhealthy, הפעלה מחדש של שירות systemd (kubelet או Docker) עשויה לעזור להחזיר את הצומת למצב תקין.

החל מגרסה 1.5 של Google Distributed Cloud, תיקון אוטומטי של שירות kubelet ו-docker systemd מופעל ב-Node Problem Detector. אם הכלי Node Problem Detector מזהה מצב KubeletUnhealthy או ContainerRuntimeUnhealthy בצומת, הוא מנסה להפעיל מחדש את שירות kubelet או docker באופן אוטומטי אם משך הזמן מאז ההפעלה האחרונה מחדש גבוה מסף מסוים.

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

לקבלת עזרה נוספת, אפשר לפנות אל Cloud Customer Care.

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