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

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

סקירה כללית

כל אשכול שיוצרים ב-Google Distributed Cloud מורכב מכמה צמתים. כל צומת כולל הפצה של toolbox של CoreOS, סקריפט מעטפת שפורק ומריץ קונטיינר לניפוי באגים, 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 יוצרים כמה תנאים בצומת. אם המצב שדווח הוא 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.

במאמר קבלת תמיכה תוכלו לקרוא מידע נוסף על מקורות המידע לתמיכה, כולל: