במסמך הזה מוסבר איך לפתור בעיות ב-VM Manager.
מידע נוסף על VM Manager זמין במאמר VM Manager.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
סקירה כללית
כדי לפתור בעיות, קודם צריך לוודא ש-VM Manager מוגדר בצורה תקינה. אם ההגדרה נכונה ועדיין יש בעיות, אפשר לבדוק את היומנים. כשבודקים את היומנים, אפשר לזהות בעיות במכונה הווירטואלית או בתהליך העבודה של VM Manager, כמו שגיאות בפקודות או בסקריפטים, שאפשר לבודד ולפתור.
אפשר לאסוף את המידע הבא מיומנים:
- כל הודעת שגיאה או אזהרה שנרשמה ביומן של המכונה הווירטואלית. האפשרות הזו מתאימה במיוחד לזיהוי שגיאות ברמת ה-VM או שגיאות משירותים אחרים שפועלים ב-VM. כדי לבדוק את היומנים האלה, אפשר לעיין במאמר בדיקת Cloud Logging.
- מידע מפורט על תוצאות ניפוי הבאגים שנרשם על ידי סוכן OS Config. האפשרות הזו שימושית לזיהוי בעיות בכל אחת מהפעולות שמבוצעות על ידי VM Manager. כדי לבדוק את יומני ניפוי הבאגים של הסוכן OS Config, אפשר לעיין במאמר בדיקת יומני ניפוי הבאגים.
אחרי שמזהים את הבעיות או השגיאות, אפשר לעיין בקטע שגיאות נפוצות כדי לראות פתרונות אפשריים.
עיון ב-Cloud Logging
אפשר להשתמש ב Google Cloud קישורים המהירים של המסוף לכל תכונה כדי להציג את היומנים.
תיקון למערכת ההפעלה
- במסוף Google Cloud , עוברים לכרטיסייה Jobs run בדף Patch.
- לוחצים על השם של הטמעת התיקון שרוצים לנפות בה באגים.
- עוברים לקטע Updated VM instances (מכונות וירטואליות מעודכנות).
- בקטע Logs (יומנים) של מכונה וירטואלית ספציפית, לוחצים על View (הצגה).
מדיניות מערכת ההפעלה
ההליך הזה נתמך במדיניות של מערכת ההפעלה. כדי להשתמש במדיניות לאורחים (בגרסת בטא), צריך להשתמש באפשרות של יומני ניפוי הבאגים, שמפורטת בקטע הבא.
- במסוף Google Cloud , עוברים לכרטיסייה VM instances בדף OS policies.
- לוחצים על שם המכונה הווירטואלית שרוצים לנפות בה באגים.
- עוברים לקטע מדיניות.
- בקטע Logs, לוחצים על View.
כלי לניהול סוכנים של מדיניות מערכת ההפעלה
- במסוף Google Cloud , עוברים לכרטיסייה OS policy orchestrators בדף OS policies.
- לוחצים על השם של הכלי לניהול מדיניות מערכת ההפעלה שרוצים לנפות בו באגים.
- עוברים לקטע Logs (יומנים) ומאמתים את רשומת היומן.
בדיקת יומני ניפוי באגים
כדי לזהות בעיות בתכונות של VM Manager, צריך להפעיל ניפוי באגים לסוכן OS Config ולצפות ביומן ניפוי הבאגים.
הפעלת רישום של ניפוי באגים לסוכן OS Config
אפשר להפעיל רישום ביומן של ניפוי באגים על ידי הגדרת המטא-נתונים osconfig-log-level=debug במכונה הווירטואלית או בפרויקט.
כדי להפעיל רישום ביומן לצורך ניפוי באגים במכונה הווירטואלית, מבצעים את השלבים הבאים:
המסוף
נכנסים לדף VM instances במסוף Google Cloud .
לוחצים על שם המכונה הווירטואלית שרוצים להגדיר עבורה את ערך המטא-נתונים.
בדף פרטי המופע, לוחצים על עריכה כדי לערוך את ההגדרות.
בקטע מטא-נתונים בהתאמה אישית, מוסיפים את רשומות המטא-נתונים הבאות:
מפתח:
osconfig-log-level
ערך:debugלוחצים על שמירה כדי להחיל את השינויים על המכונה הווירטואלית.
gcloud
משתמשים בפקודה instances add-metadata עם הדגל --metadata=osconfig-log-level=debug.
gcloud compute instances add-metadata VM_NAME \
--metadata=osconfig-log-level=debug
מחליפים את VM_NAME בשם של המכונה הווירטואלית.
REST
הוראות להגדרת מטא-נתונים של מופע מופיעות במאמר הגדרת מטא-נתונים של מופע.
חובה להוסיף את צמד המפתח/ערך הבא כחלק ממאפיין המטא-נתונים:
מפתח: osconfig-log-level
ערך: debug
צפייה ביומני ניפוי באגים
כשרישום ביומן לניפוי באגים מופעל, הסוכן של OS Config כותב רשומות ביומן ב-Cloud Logging ובמסוף של היציאה הטורית.
אחרי שמפעילים את ניפוי הבאגים ביומנים במכונה הווירטואלית, עוברות כעשר דקות עד שסוכן OS Config מתחיל לכתוב הודעות ניפוי באגים ב-Cloud Logging. כדי לקצר את זמן ההמתנה, אפשר להפעיל מחדש את הסוכן או לאתחל את מכונת ה-VM. מידע נוסף על Cloud Logging זמין במאמר צפייה ביומנים של Cloud Logging.
כדי לראות את יומני ניפוי הבאגים, אפשר להשתמש באפשרויות הבאות:
- Cloud Logging: שימוש במסוף Google Cloud או ב-Google Cloud CLI
קונסולה של יציאה טורית
המסוף
עוברים לדף Logging > Logs Explorer (Logs Explorer) במסוףGoogle Cloud :
אם צריך, בוחרים פרויקט קיים Google Cloud בחלק העליון של הדף או יוצרים פרויקט חדש.
בתפריט הנפתח Resource בוחרים באפשרות VM Instance. תוצג רשימה של מכונות וירטואליות זמינות (
instance_id).לוחצים על המכונה הווירטואלית שרוצים להציג.
לוחצים על הוספה.
בתפריט הנפתח Log name, בוחרים באפשרות OSConfigAgent.
לוחצים על הוספה.
השאילתה שלכם צריכה להיות דומה לזו:
resource.type="gce_instance" resource.labels.instance_id="INSTANCE_ID" logName="projects/PROJECT_ID/logs/OSConfigAgent"
לוחצים על Run query.
gcloud
מריצים את הפקודה gcloud logging read.
gcloud logging read "resource.type=gce_instance AND logName=projects/PROJECT_ID/logs/OSConfigAgent"
מחליפים את PROJECT_ID במזהה הפרויקט.
יציאה טורית
כדי לראות מידע מיומן ניפוי הבאגים במסוף של היציאה הטורית, אפשר לעיין במאמר בנושא הצגת פלט של יציאה טורית.
שגיאות נפוצות
בעיות באימות
כדי ש-VM Manager יפעל, אתם צריכים:
- חשבון שירות מצורף. VM Manager משתמש בחשבון השירות הזה כדי לחתום על בקשות לשירות ה-API.
- מוודאים שלחשבון השירות המצורף יש את התפקיד
roles/logging.logWriterכדי לכתוב יומנים ל-Logging API. - Google Cloud OS Config Service Agent. VM Manager יוצר את סוכן השירות הזה כשמתחילים עבודות של תיקון באגים, ומעניק לו את התפקיד Cloud OS Config Service Agent. כדי ליצור מדיניות למערכת ההפעלה, לא צריך להגדיר את סוכן השירות הזה.
אם אתם משתמשים ב-VM Manager ואין לכם חשבון שירות מקושר או סוכן של שירות OS Config ב-Google Cloud, יכול להיות שתראו את השגיאות הבאות בזמן העבודה עם משימות תיקון:
Service account permissions are missing. Verify that the service account has the correct permissions and try again.
OSConfigAgent Error main.go:88: error getting token from metadata: metadata: GCE metadata "instance/service-accounts/default/identity?audience=osconfig.googleapis.com&format=full" not defined
message: "Error running OPERATION_NAME: error calling OPERATION_NAME: code: "PermissionDenied", message: "The caller does not have permission", details: []"
בעיות באימות עלולות גם למנוע את ההצגה של מופעי מכונות וירטואליות בלוח הבקרה של תיקוני האבטחה.
כדי לפתור את הבעיות האלה, אפשר לנסות את הפתרונות הבאים:
- מוודאים שלכל המכונות הווירטואליות יש חשבון שירות שמחובר אליהן.
מוודאים שהתפקיד של סוכן השירות ב-Cloud OS Config (
roles/osconfig.serviceAgent) מוגדר לסוכן השירות ב-Cloud OS Config.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com' \ --role='roles/osconfig.serviceAgent'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
PROJECT_NUMBER: מספר הפרויקט
-
שגיאה בהחרגת חבילות לעדכוני תיקון
אם מציינים תווים כלליים או תווים מיוחדים בשם של חבילות כשמגדירים החרגה של חבילות בעבודת תיקון, יכול להיות שהכלי לניהול תיקוני מערכת ההפעלה יתעלם מהרשימה ויעדכן את כל החבילות.
כדי לפתור את הבעיה, צריך לעדכן את סוכן OS Config לגרסה 20220829.00 ולהשתמש בלוכסנים (/) כדי לתחום את שם החבילה.
בדוגמה הבאה, ניהול תיקוני מערכת ההפעלה לא כולל חבילות yum עם הקידומת google- בשם החבילה.
gcloud compute os-config patch-jobs execute --instance-filter-all
--yum-excludes=/google-.*/