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

אפשר להפעיל מצב ניפוי באגים במכונה וירטואלית. במצב ניפוי באגים, לחשבונות משתמשים עם התפקידים 'בעלים', 'עריכה' ו'אדמין App Engine' בפרויקט יש גישת שורש למכונה הווירטואלית. בזמן שמצב ניפוי הבאגים מופעל, ההפצה האוטומטית של עדכוני מערכת ההפעלה ותיקוני האבטחה מושבתת. עם זאת, המכונה הווירטואלית עדיין חלק ממאגר מאזן העומסים, והיא ממשיכה לקבל בקשות חיצוניות.

בכל פעם שמפעילים או משביתים ניפוי באגים, האירוע 'הפעלה או השבתה של ניפוי באגים במכונה וירטואלית' מופיע במסוף Google Cloud והאירוע יתועד בקובץ /var/log/syslog.logשל המכונה הווירטואלית.

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

אפשר להשתמש ב-gcloud כדי להפעיל ולהשבית את מצב ניפוי הבאגים עבור מופע. כדי לנפות באגים במופע, התפקיד שלכם צריך לכלול את ההרשאה appengine.instances.enableDebug.

כדי להפעיל ולהשבית את מצב ניפוי הבאגים ב-gcloud:

  1. כדי לנפות באגים במכונות הווירטואליות של מופע וגרסה מסוימים, משתמשים בפקודה gcloud app instances enable-debug באופן הבא:
    gcloud app --project PROJECT-ID instances enable-debug
    מחליפים את PROJECT-ID במזהה הפרויקט שלכם ופועלים לפי ההנחיות כדי לציין את גרסת המופע לניפוי הבאגים.
  2. כשמסיימים את ניפוי הבאגים, משביתים את מצב ניפוי הבאגים באופן הבא:
    gcloud app --project PROJECT-ID instances disable-debug
    פועלים לפי ההנחיות כדי לציין את גרסת המופע

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

מתבצעת התחברות למכונה

המסוף

כדי להתחבר למופע במסוף:

  1. עוברים לדף של מופעי המסוף בפרויקט: Google Cloud

    כניסה לדף Instances

  2. לוחצים על SSH משמאל לשורה שמכילה את המופע שרוצים לגשת אליו:

    המכונה עוברת למצב ניפוי באגים, ונפתח סשן SSH למכונה בחלון טרמינל.

    אפשר גם לבחור אפשרויות אחרות כדי להתחיל סשן SSH מהרשימה הנפתחת.

  3. בשלב הזה אתם נמצאים במארח של המופע, שפועלים בו כמה קונטיינרים. מידע נוסף על הסוגים האלה זמין במאמר הסבר על מאגרי תגים נפוצים.

  4. בחלון המסוף, מציגים את רשימת הקונטיינרים שפועלים במופע:

    sudo docker ps

  5. הפלט של הפקודה sudo docker ps מפרט כל מאגר בשורה נפרדת. מאתרים את השורה שמכילה את מזהה הפרויקט – זהו המאגר שבו הקוד פועל. רושמים את השם של הקונטיינר הזה.

  6. אפשר גם להפעיל את הפקודה הבאה כדי לראות את פרטי הרישום ביומן של האפליקציה:

    sudo docker logs CONTAINER-NAME

  7. מפעילים מעטפת בקונטיינר שבו הקוד פועל:

    sudo docker exec -it CONTAINER-NAME /bin/bash

  8. בסיום ניפוי הבאגים, מזינים exit כדי לצאת מהקונטיינר, ואז מזינים exit שוב כדי לצאת מסשן ה-SSH.

  9. כדי שהמכונה תחזור לפעולה רגילה, צריך להשבית את ניפוי הבאגים שלה.

gcloud

כדי להתחבר למופע באמצעות gcloud:

  1. כשהמופע מופעל לניפוי באגים, מפעילים את הפקודה:

    gcloud beta app instances --project PROJECT-ID ssh INSTANCE-NAME --service SERVICE --version VERSION

  2. בשלב הזה אתם נמצאים במארח של המופע, שבו פועלים כמה קונטיינרים. מידע נוסף על המאגרים האלה זמין במאמר הסבר על מאגרי תגים נפוצים.

  3. בחלון המסוף, מציגים את רשימת הקונטיינרים שפועלים במופע:

    sudo docker ps

  4. הפלט של הפקודה sudo docker ps מפרט כל מאגר בשורה נפרדת. מאתרים את השורה שמכילה את מזהה הפרויקט – זהו המאגר שבו הקוד פועל. רושמים את השם של הקונטיינר הזה.

  5. אפשר גם להפעיל את הפקודה הבאה כדי לראות את פרטי הרישום ביומן של האפליקציה:

    sudo docker logs CONTAINER-NAME

  6. מפעילים מעטפת בקונטיינר שבו הקוד פועל:

    docker exec -it CONTAINER-NAME /bin/bash

  7. בסיום ניפוי הבאגים, מזינים exit כדי לצאת מהקונטיינר, ואז מזינים exit שוב כדי לצאת מסשן ה-SSH.

  8. כדי שהמכונה תחזור לפעולה רגילה, צריך להשבית את ניפוי הבאגים שלה.

הסבר על קונטיינרים נפוצים

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

מאגר תגים וקוד מקור תיאור
cloud-sql הוא מבטיח חיבורים מאובטחים למכונה של Cloud SQL.
fluentd_logger סוכן Logging.
nginx_proxy השרתים האלה מעבירים בקשות לאפליקציה.
opentelemetry-collector מקבל, מעבד ומייצא נתוני טלמטריה.
stackdriver-monitoring-agent איסוף, אחסון ומעקב של פרטי המערכת.

חשוב לזכור שהשינויים האלה במיכלי ה-sidecar יכולים להתבצע בלי הודעה מוקדמת.