המאמר הזה יעזור לכם לוודא ש-VM Manager מוגדר בצורה תקינה. מידע על הגדרת VM Manager זמין במאמר הגדרת VM Manager.
כדי לוודא שההגדרה בוצעה בצורה תקינה, אפשר להשתמש בפקודה לפתרון בעיות או לבצע בדיקות ידניות במכונה הוירטואלית (VM).
לפני שמתחילים
- במכונות וירטואליות של Windows, צריך להשתמש ב-PowerShell 3.0 ואילך.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
שימוש בפקודה לפתרון בעיות
משתמשים בפקודה os-config troubleshoot כדי לאמת את ההגדרה. אם אחת מהבדיקות נכשלת, תקבלו משוב עם הוראות לפתרון הבעיה.
gcloud compute os-config troubleshoot VM_NAME \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
VM_NAME: השם של מופע המכונה הווירטואלית שרוצים לפתור בו בעיות -
ZONE: האזור שבו נמצאת המכונה
דוגמאות
- דוגמה 1: הפלט של הפקודה
os-config troubleshootכשמכונת ה-VM נתקלת בבעיות בהגדרה דוגמה 2: הפלט של הפקודה
os-config troubleshootכשמכונת ה-VM מוגדרת בצורה תקינה
דוגמה 1
כדי לפתור בעיות במכונה וירטואלית בשם my-instance-1 באזור asia-east2-b, מריצים את הפקודה הבאה:
gcloud compute os-config troubleshoot my-instance-1 \
--zone=asia-east2-b
הפלט אמור להיראות כך:
OS Config troubleshooter tool is checking if there are issues with the VM Manager setup for this VM instance. > Is the OS Config API enabled? Yes > Is the OS Config agent enabled? Yes > Is the OS Config agent up to date? No The version of OS Config agent running on this VM instance is not the latest version. See https://cloud.google.com/compute/docs/manage-os/upgrade-vm-manager#update-agent on how to update the agent.
דוגמה 2
כדי לפתור בעיות במכונה וירטואלית בשם my-instance-2 באזור us-west1-b, מריצים את הפקודה הבאה:
gcloud compute os-config troubleshoot my-instance-2 \
--zone=us-west1-b
הפלט אמור להיראות כך:
OS Config troubleshooter tool is checking if there are issues with the VM Manager setup for this VM instance. > Is the OS Config API enabled? Yes > Is the OS Config agent enabled? Yes > Is the OS Config agent up to date? Yes > Is a service account present on the instance? Yes > Is the OS Config Service account present for this instance? Yes > Does this instance have a public IP or Private Google Access? Yes This instance has a public IP.
אימות ידני
כדי לוודא באופן ידני שהכלי VM Manager מוגדר בצורה תקינה, מבצעים את הבדיקות הבאות:
- OS Config API enabled
- OS Config metadata is enabled
- הסוכן OS Config מותקן ופועל
- Service account enabled
- המכונה הווירטואלית יכולה לתקשר עם OS Config API
אם VM Manager מוגדר בצורה תקינה אבל עדיין יש בעיות, אפשר לעיין במאמר פתרון בעיות ב-VM Manager.
בדיקה אם OS Config API מופעל
ב Google Cloud פרויקט, בודקים אם ה-API מופעל.
המסוף
במסוף Google Cloud , נכנסים לדף OS Config API.
gcloud
gcloud services list --enabled
אם ה-API מופעל, הפלט נראה כך:
osconfig.googleapis.com OS Config API
אם ה-API לא מופעל, מפעילים את OS Config API.
בדיקה אם מטא-נתונים מופעלים
Linux
כדי להגדיר מטא-נתונים של פרויקט במכונה הווירטואלית, מבצעים את השלבים הבאים:
שליחת שאילתה לנקודת הקצה של מאפייני הפרויקט:
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/" \ -H "Metadata-Flavor: Google"
אם ערך המטא-נתונים של הסוכן מוגדר, הפלט נראה כך:
enable-osconfig
אם הערך
enable-osconfigמוצג, שולחים שאילתה לנקודת הקצה:curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/enable-osconfig" \ -H "Metadata-Flavor: Google"
אם ההגדרה מופעלת, נקודת הקצה מחזירה
TRUE.
אם המטא-נתונים לא מופעלים, מפעילים את המטא-נתונים של OS Config.
Windows
כדי להציג את המטא-נתונים של הפרויקט, פותחים טרמינל ב-PowerShell ב-VM כאדמין ומריצים את הפקודה הבאה:
שליחת שאילתה לנקודת הקצה של מאפייני הפרויקט:
$value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/project/attributes/") $valueאם ערך המטא-נתונים של הסוכן מוגדר, הפלט נראה כך:
enable-osconfig
אם הערך
enable-osconfigמוצג, שולחים שאילתה לנקודת הקצה:$value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/project/attributes/enable-osconfig") $valueאם ההגדרה מופעלת, נקודת הקצה מחזירה
TRUE.
אם המטא-נתונים לא מופעלים, מפעילים את המטא-נתונים של OS Config.
בדיקה אם הסוכן OS Config מותקן ופועל
Linux
כדי לבדוק אם הסוכן מותקן במכונת ה-VM של Linux, מריצים את הפקודה הבאה:
sudo systemctl status google-osconfig-agent
אם הסוכן מותקן ופועל, הפלט ייראה כך:
google-osconfig-agent.service - Google OSConfig Agent
Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset:
Active: active (running) since Wed 2020-01-15 00:14:22 UTC; 6min ago
Main PID: 369 (google_osconfig)
Tasks: 8 (limit: 4374)
Memory: 102.7M
CGroup: /system.slice/google-osconfig-agent.service
└─369 /usr/bin/google_osconfig_agent
אם הסוכן לא מותקן, צריך להתקין את הסוכן של OS Config.
Windows
כדי לבדוק אם הסוכן מותקן במכונת ה-VM של Windows, מריצים את הפקודה הבאה:
PowerShell Get-Service google_osconfig_agent
אם הסוכן מותקן ופועל, הפלט ייראה כך:
Status Name DisplayName ------ ---- ----------- Running google_osconfig... Google OSConfig Agent
אם הסוכן לא מותקן, צריך להתקין את הסוכן של OS Config.
בדיקה אם חשבון השירות מופעל
מידע על הדרישות של חשבון שירות זמין במאמר סקירה כללית של ההגדרה.
Linux
במכונת ה-VM, מריצים את הפקודה הבאה:
curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/" \ -H "Metadata-Flavor: Google"
הפלט צריך לכלול לפחות את חשבון השירות שמוגדר כברירת מחדל.
default/
Windows
ב-VM, פותחים טרמינל ב-PowerShell כאדמין ומריצים את הפקודה הבאה:
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/")
$value
הפלט צריך לכלול לפחות את חשבון השירות שמוגדר כברירת מחדל.
default/
בדיקה אם מכונת ה-VM יכולה לתקשר עם OS Config API
כדי לבדוק אם המכונה הווירטואלית יכולה לתקשר עם OS Config API, מריצים את הפקודה הבאה במכונה הווירטואלית של Linux או Windows:
ping osconfig.googleapis.com
כדי להפסיק את הפינג של OS Config API, מקישים על Control + C.
אם המכונה הווירטואלית פועלת ברשת VPC פרטית ואין לה גישה לאינטרנט הציבורי, צריך לוודא שהפעלתם גישה פרטית ל-Google.
אחרי שמפעילים את הגישה הפרטית ל-Google, צריך לוודא שהמכונה הווירטואלית יכולה לתקשר עם OS Config API.
Linux
במכונת ה-VM, מריצים את הפקודה הבאה:
curl --ssl 'https://osconfig.googleapis.com/$discovery/rest' | head
אם המכונה הווירטואלית יכולה לתקשר עם OS Config API, פלט הפקודה ייראה כך:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0{
"discoveryVersion": "v1",
"baseUrl": "https://osconfig.googleapis.com/",
"ownerName": "Google",
"version": "v1beta",
"schemas": {
"GooSettings": {
"description": "Googet patching is performed by running `googet update`.",
"properties": {},
"id": "GooSettings",
100 9569 0 9569 0 0 198k 0 --:--:-- --:--:-- --:--:-- 198k
Windows
במכונה הווירטואלית, פותחים טרמינל ב-PowerShell כאדמין ומריצים את הפקודה הבאה:
Invoke-RestMethod -Headers @{'Metadata-Flavor' = 'Google'}
-Uri 'https://osconfig.googleapis.com/$discovery/rest'
מה השלב הבא?
- הצגת פרטים של מערכת ההפעלה
- יצירת הקצאה של מדיניות מערכת הפעלה
- יצירת משימות להחלת תיקון.
- פתרון בעיות ב-VM Manager