אפשר להפעיל מצב ניפוי באגים במכונה וירטואלית. במצב ניפוי באגים, לחשבונות משתמשים עם התפקידים 'בעלים', 'עריכה' ו'אדמין App Engine' בפרויקט יש גישת שורש למכונה הווירטואלית. בזמן שמצב ניפוי הבאגים מופעל, ההפצה האוטומטית של עדכוני מערכת ההפעלה ותיקוני האבטחה מושבתת. עם זאת, המכונה הווירטואלית עדיין חלק ממאגר מאזן העומסים, והיא ממשיכה לקבל בקשות חיצוניות.
בכל פעם שמפעילים או משביתים ניפוי באגים, האירוע 'הפעלה או השבתה של ניפוי באגים במכונה וירטואלית' מופיע במסוף Google Cloud והאירוע יתועד בקובץ /var/log/syslog.logשל המכונה הווירטואלית.
הפעלה והשבתה של מצב ניפוי באגים
אפשר להשתמש ב-gcloud כדי להפעיל ולהשבית את מצב ניפוי הבאגים עבור מופע. כדי לנפות באגים במופע, התפקיד שלכם צריך לכלול את ההרשאה appengine.instances.enableDebug.
כדי להפעיל ולהשבית את מצב ניפוי הבאגים ב-gcloud:
-
כדי לנפות באגים במכונות ה-VM של מופע וגרסה מסוימים, משתמשים בפקודה gcloud
app instances enable-debug באופן הבא:
מחליפים את PROJECT-ID במזהה הפרויקט שלכם ופועלים לפי ההנחיות כדי לציין את גרסת המופע לניפוי הבאגים.gcloud app --project PROJECT-ID instances enable-debug
-
כשמסיימים את ניפוי הבאגים, משביתים את מצב ניפוי הבאגים באופן הבא:
פועלים לפי ההנחיות כדי לציין את גרסת המופעgcloud app --project PROJECT-ID instances disable-debug
כשמשביתים את מצב ניפוי הבאגים, מכונת ה-VM נעצרת ומופעל מופע חדש של האפליקציה, שפועל במכונת VM חדשה ונקייה.
מתבצעת התחברות למכונה
המסוף
כדי להתחבר למופע במסוף:
נכנסים לדף המופעים של המסוף בפרויקט: Google Cloud
לוחצים על SSH בקצה השמאלי של השורה שכוללת את המופע שרוצים לגשת אליו:

המכונה עוברת למצב ניפוי באגים, ונפתח סשן SSH למכונה בחלון טרמינל.
אפשר גם לבחור אפשרויות אחרות כדי להתחיל סשן SSH מהרשימה הנפתחת.
בשלב הזה אתם נמצאים במארח של המופע, שפועלים בו כמה קונטיינרים. מידע נוסף על הקונטיינרים האלה מופיע במאמר הסבר על קונטיינרים נפוצים.
בחלון המסוף, מציגים את רשימת הקונטיינרים שפועלים במופע:
sudo docker ps
הפלט של הפקודה
sudo docker psמציג כל מאגר תגים בשורה נפרדת. מאתרים את השורה שמכילה את מזהה הפרויקט – זהו מאגר התגים שמריץ את הקוד. רושמים את השם של מאגר התגים הזה.אפשר גם להפעיל את הפקודה הבאה כדי לראות את פרטי הרישום ביומן של האפליקציה:
sudo docker logs CONTAINER-NAME
מפעילים מעטפת בקונטיינר שבו הקוד פועל:
sudo docker exec -it CONTAINER-NAME /bin/bash
בסיום ניפוי הבאגים, מזינים
exitכדי לצאת מהקונטיינר, ואז מזיניםexitשוב כדי לצאת מסשן ה-SSH.כדי שהמכונה תחזור לפעולה רגילה, צריך להשבית את ניפוי הבאגים שלה.
gcloud
כדי להתחבר למופע באמצעות gcloud:
אחרי הפעלת ניפוי הבאגים במופע, מריצים את הפקודה:
gcloud beta app instances --project PROJECT-ID ssh INSTANCE-NAME --service SERVICE --version VERSION
בשלב הזה אתם נמצאים במארח של המופע, שבו פועלים כמה קונטיינרים. מידע נוסף על המאגרי התגים האלה זמין במאמר הסבר על מאגרי תגים נפוצים.
בחלון המסוף, מציגים את רשימת הקונטיינרים שפועלים במופע:
sudo docker ps
הפלט של הפקודה
sudo docker psמציג כל מאגר תגים בשורה נפרדת. מאתרים את השורה שמכילה את מזהה הפרויקט – זהו מאגר התגים שמריץ את הקוד. רושמים את השם של מאגר התגים הזה.אפשר גם להפעיל את הפקודה הבאה כדי לראות את פרטי הרישום ביומן של האפליקציה:
sudo docker logs CONTAINER-NAME
מפעילים מעטפת בקונטיינר שבו הקוד פועל:
docker exec -it CONTAINER-NAME /bin/bash
בסיום ניפוי הבאגים, מזינים
exitכדי לצאת מהקונטיינר, ואז מזיניםexitשוב כדי לצאת מסשן ה-SSH.כדי שהמכונה תחזור לפעולה רגילה, צריך להשבית את ניפוי הבאגים שלה.
הסבר על קונטיינרים נפוצים
בנוסף לקונטיינר שמריץ את קוד האפליקציה, יכול להיות שיהיו במופע גם הקונטיינרים הבאים:
| מאגר תגים וקוד מקור | תיאור |
|---|---|
| cloud-sql | הוא מבטיח חיבורים מאובטחים למופע Cloud SQL. |
| fluentd_logger | סוכן Logging. |
| nginx_proxy | השרתים האלה מעבירים בקשות לאפליקציה. |
| opentelemetry-collector | מקבל, מעבד ומייצא נתוני טלמטריה. |
| stackdriver-monitoring-agent | אוסף, מאחסן ועוקב אחרי פרטי המערכת. |
חשוב לזכור שהשינויים האלה במיכלי ה-sidecar יכולים להתבצע בלי הודעה מוקדמת.