VM Extension Manager משתמש במדיניות תוספים כדי לנהל את תוספי המכונות הווירטואליות בהיקף גדול. מידע נוסף זמין במאמר מידע על VM Extension Manager. במאמר הזה נסביר איך להציג, לעדכן ולמחוק כללי מדיניות של תוספים למכונות וירטואליות.
תפקידים והרשאות של IAM
כדי לקבל את ההרשאות שדרושות להצגה, לשינוי ולמחיקה של כללי מדיניות של תוספים למכונות וירטואליות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
כדי להציג את כללי המדיניות של התוספים:
- צפייה במדיניות של תוספי מכונות וירטואליות (
roles/compute.vmExtensionPolicyViewer) - אדמין של מדיניות תוספים למכונות וירטואליות (
roles/compute.vmExtensionPolicyAdmin)
- צפייה במדיניות של תוספי מכונות וירטואליות (
-
כדי לשנות את כללי המדיניות של התוספים:
אדמין של כללי מדיניות לתוספים של מכונות וירטואליות (
roles/compute.vmExtensionPolicyAdmin) -
כדי למחוק כללי מדיניות של תוספים:
אדמין של כללי מדיניות של תוספים למכונות וירטואליות (
roles/compute.vmExtensionPolicyAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות כדי להציג, לשנות ולמחוק כללי מדיניות של תוספים למכונות וירטואליות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להציג, לשנות ולמחוק מדיניות של תוספים למכונות וירטואליות, נדרשות ההרשאות הבאות:
-
כדי להציג את כללי המדיניות של התוספים:
compute.vmExtensionPolicies.list -
כדי להציג את הפרטים של מדיניות תוספים:
compute.vmExtensionPolicies.get -
כדי לשנות את כללי המדיניות של התוספים:
compute.vmExtensionPolicies.update -
כדי למחוק כללי מדיניות של תוספים:
compute.vmExtensionPolicies.delete
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מידע נוסף על תפקידים והרשאות ב-IAM ב-Compute Engine זמין במאמר תפקידים והרשאות ב-Compute Engine.
צפייה במדיניות בנושא תוספים
אפשר לראות רשימה של כללי מדיניות של תוספים למכונות וירטואליות בפרויקט, או לראות את הפרטים של מדיניות ספציפית באמצעות מסוף Cloud de Confiance או Google Cloud CLI.
עולמי
gcloud
כדי לראות את כל מדיניות התוספים הגלובלית בפרויקט, משתמשים בפקודה gcloud beta compute global-vm-extension-policies list:
gcloud beta compute global-vm-extension-policies list \ --project=PROJECT_ID \ --page-size=PAGE_SIZE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS . -
PAGE_SIZE: המספר המקסימלי של התוצאות שיוחזרו בכל דף.
כדי לראות את הפרטים של מדיניות גלובלית ספציפית לתוספים, משתמשים בפקודה gcloud beta compute global-vm-extension-policies describe:
gcloud beta compute global-vm-extension-policies describe POLICY_NAME \ --project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות התוסף למכונה הווירטואלית שרוצים לתאר. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance .
REST
כדי לראות את כל כללי המדיניות הגלובליים של התוספים בפרויקט, צריך לשלוח בקשת GET ל-method globalVmExtensionPolicies.list.
GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/vmExtensionPolicies
כדי לראות את הפרטים של מדיניות גלובלית ספציפית לגבי תוספים, שולחים בקשת GET לשיטה globalVmExtensionPolicies.get.
GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/vmExtensionPolicies/POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות התוסף של מכונת ה-VM שרוצים להציג. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance .
אזורי
המסוף
- נכנסים לדף VM extension policies במסוף Cloud de Confiance . בדף הזה מפורטות כל המדיניות בנושא תוספים למכונות וירטואליות בפרויקט.
- כדי לראות את הפרטים של מדיניות ספציפית לגבי תוספים, לוחצים על שם המדיניות.
gcloud
כדי לראות את כל כללי המדיניות של התוספים באזור, משתמשים בפקודה gcloud compute zone-vm-extension-policies list:
gcloud compute zone-vm-extension-policies list \ --project=PROJECT_ID \ --zone=ZONE \ --page-size=PAGE_SIZE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS . -
ZONE: השם של האזור שבו רוצים להציג את מדיניות התוספים של מכונות וירטואליות. -
PAGE_SIZE: המספר המקסימלי של התוצאות שיוחזרו בכל דף.
כדי לראות את הפרטים של מדיניות ספציפית לתוסף, משתמשים בפקודה gcloud compute zone-vm-extension-policies describe:
gcloud compute zone-vm-extension-policies describe POLICY_NAME \ --project=PROJECT_ID \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות התוסף למכונה הווירטואלית שרוצים לתאר. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . -
ZONE: האזור שבו נמצאת מדיניות התוסף של המכונה הווירטואלית. Cloud de Confiance
REST
כדי להציג את כל כללי המדיניות של התוספים האזוריים בפרויקט, שולחים בקשת GET ל-method zoneVmExtensionPolicies.list.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/vmExtensionPolicies
כדי לראות את הפרטים של מדיניות ספציפית של תוסף אזורי, שולחים בקשת GET אל ה-method zoneVmExtensionPolicies.get.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/vmExtensionPolicies/POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות התוסף של מכונת ה-VM שרוצים להציג. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . -
ZONE: האזור שבו נמצאת מדיניות התוסף של המכונה הווירטואלית. Cloud de Confiance
שינוי תוספים על ידי עדכון מדיניות של תוסף למכונה וירטואלית
כשמעדכנים מדיניות, VM Extension Manager פורס את השינויים בכל מכונות ה-VM הרלוונטיות, בדרך כלל תוך דקה אחת. אם משנים תוויות של הכללה, יכול להיות שתוספים יותקנו במכונות וירטואליות חדשות או יוסרו ממכונות וירטואליות קיימות, בהתאם להתאמה שלהם לתוויות המעודכנות.
עולמי
gcloud
כדי לשנות מדיניות קיימת של תוסף VM גלובלי, משתמשים בפקודה gcloud beta compute global-vm-extension-policies update. כשמעדכנים מדיניות באמצעות gcloud, הבקשה מחליפה את המדיניות הקיימת. כל שדה אופציונלי שמשמיטים חוזר לערכי ברירת המחדל שלו במקום לשמור על הערכים הקיימים ממדיניות ההרשאה ששונתה.
כדי לעדכן מדיניות גלובלית של תוסף למכונת VM, מריצים את הפקודה הבאה:
gcloud beta compute global-vm-extension-policies update POLICY_NAME \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --description="DESCRIPTION" \ --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \ --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \ --inclusion-labels=KEY_1=VALUE_1 \ --priority=PRIORITY_NUMBER \ --rollout-predefined-plan=ROLLOUT_PLAN \ --rollout-retry-uuid=RETRY_UUID \ --rollout-conflict-behavior=ROLLOUT_CONFLICT_BEHAVIOR
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: שם של מדיניות הרחבת VM לעדכון. -
EXTENSION_NAME_1, EXTENSION_NAME_2: שמות התוספים שרוצים לעדכן. צריך לציין לפחות תוסף אחד. -
DESCRIPTION: תיאור של מדיניות התוסף של המכונה הווירטואלית. -
VERSION_1: הגרסה של תוסף ה-VM הראשון. -
VERSION_2: הגרסה של התוסף השני למכונה וירטואלית.
EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: רשימה מופרדת בפסיקים של זוגות של מפתח/ערך, כאשר המפתח הוא שם התוסף והערך הוא הנתיב לקובץ ההגדרות של התוסף. הנתיב הזה נמצא במכונה הווירטואלית שבה מריצים את הפקודהgcloud, ולא במכונה הווירטואלית שבה מתקינים את התוסף.לחלופין, כדי לספק את ההגדרה כמחרוזת מוטבעת, משתמשים בדגל
--configבמקום בדגל--config-from-file. לדוגמה:EXTENSION_NAME_1="CONFIG_1". אפשר להשתמש ב---config-from-fileאו ב---config, אבל לא בשניהם באותה פקודה.
KEY_1=VALUE_1: רשימה מופרדת בפסיקים של צמדי מפתח/ערך שמגדירים תוויות הכללה עבור בורר. כדי שמכונות וירטואליות יהיו יעד, הן צריכות לכלול את כל התוויות שצוינו בסלקטור. אם מציינים את התג--inclusion-labelsכמה פעמים, המדיניות מטרגטת מכונות וירטואליות שתואמות לכל אחד מהסלקטורים שצוינו (אופרטור OR לוגי). אם לא מציינים את הדגל הזה, המדיניות מכוונת לכל מכונות ה-VM בכל האזורים בפרויקט.
PRIORITY_NUMBER: מספר העדיפות של מדיניות התוסף של המכונה הווירטואלית.
ROLLOUT_PLAN: ציוןslow_rolloutאוfast_rollout. אם אתם צריכים להשתמש בתוכנית פריסה בהתאמה אישית, אתם יכולים להשתמש בדגל--rollout-custom-planבמקום בדגל--rollout-predefined-planולציין את שם התוכנית, לדוגמה:--rollout-custom-plan=projects/PROJECT_NUMBER/locations/global/rolloutPlans/ROLLOUT_PLAN_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: הפרויקט שבו מוגדרת תוכנית ההשקה. -
ROLLOUT_PLAN_NAME: השם של תוכנית הפריסה המותאמת אישית שהגדרתם.
אם לא מציינים דגל של תוכנית השקה, המערכת משתמשת ב-
slow_rollout.-
ROLLOUT_CONFLICT_BEHAVIOR: מציין את ההתנהגות כשמזוהה התנגשות בין מדיניות אזורית למדיניות גלובלית. הערכים שאפשר לבחור הם:
""(מחרוזת ריקה): המדיניות הגלובלית לא מחליפה מדיניות אזורית סותרת עם אותו שם. זו התנהגות ברירת המחדל.
overwrite: המדיניות הגלובלית מחליפה כל מדיניות אזורית עם אותו שם, ואז המדיניות הגלובלית מנהלת את השקת המדיניות באזור.לפרטים נוספים, אפשר לקרוא על הדגל
--rollout-conflict-behavior.RETRY_UUID: מזהה ייחודי אוניברסלי (UUID) שמזהה ניסיון חוזר להפעלת עדכון מדיניות. כך תוכלו לנסות שוב לעדכן בלי לבצע שינויים. אם מגדירים את הדגל הזה ומשנים את המדיניות, מתרחשת שגיאה. מידע נוסף מופיע במאמר בנושא ניסיון חוזר להפעלת תכונה.
אזורי
המסוף
- נכנסים לדף VM extension policies במסוף Cloud de Confiance .
- בוחרים את המדיניות שרוצים לעדכן.
- לוחצים על Edit.
- משנים את התיאור, העדיפות, התוספים או מופעי ה-VM של היעד.
- לוחצים על Save.
gcloud
כדי לשנות מדיניות קיימת של תוסף למכונה וירטואלית, משתמשים בפקודה gcloud compute zone-vm-extension-policies update. כשמעדכנים מדיניות באמצעות gcloud, הבקשה פועלת כהחלפה מלאה. כל שדה אופציונלי שמשמיטים חוזר לערכי ברירת המחדל שלו במקום לשמור על הערכים הקיימים מהמדיניות ששונתה.
כדי לעדכן מדיניות של תוסף למכונת VM, מריצים את הפקודה הבאה:
gcloud compute zone-vm-extension-policies update POLICY_NAME \ --zone=ZONE \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --description="DESCRIPTION" \ --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \ --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \ --inclusion-labels=KEY_1=VALUE_1 \ --priority=PRIORITY_NUMBER
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: שם של מדיניות הרחבת VM לעדכון. -
ZONE: Cloud de Confiance האזור שבו המדיניות חלה. -
EXTENSION_NAME_1, EXTENSION_NAME_2: שמות התוספים שרוצים לעדכן. צריך לציין לפחות תוסף אחד. -
DESCRIPTION: תיאור אופציונלי של מדיניות התוסף של המכונה הווירטואלית. -
VERSION_1: הגרסה של תוסף ה-VM הראשון. -
VERSION_2: הגרסה של התוסף השני למכונה וירטואלית.
EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: רשימה מופרדת בפסיקים של זוגות של מפתח/ערך, כאשר המפתח הוא שם התוסף והערך הוא הנתיב לקובץ ההגדרות של התוסף. הנתיב הזה נמצא במכונה הווירטואלית שבה מריצים את הפקודהgcloud, ולא במכונה הווירטואלית שבה מתקינים את התוסף.לחלופין, כדי לספק הגדרה כמחרוזת מוטבעת, משתמשים בדגל
--configבמקום בדגל--config-from-file. לדוגמה:EXTENSION_NAME_1="CONFIG_1". אפשר להשתמש ב---config-from-fileאו ב---config, אבל לא בשניהם באותה פקודה.
KEY_1=VALUE_1: רשימה מופרדת בפסיקים של צמדי מפתח/ערך שמגדירים תוויות הכללה עבור בורר. כדי שמכונות וירטואליות יהיו יעד, הן צריכות לכלול את כל התוויות שצוינו בסלקטור. אם מציינים את התג--inclusion-labelsכמה פעמים, המדיניות מטרגטת מכונות וירטואליות שתואמות לכל אחד מהסלקטורים שצוינו (אופרטור OR לוגי). אם משמיטים את הדגל הזה, המדיניות מטרגטת את כל מכונות ה-VM באזור שצוין.
PRIORITY_NUMBER: מספר העדיפות של מדיניות התוסף של המכונה הווירטואלית.
REST
כדי לעדכן מדיניות של הרחבה אזורית, צריך לשלוח בקשת PATCH ל-method zoneVmExtensionPolicies.update.
כשמעדכנים מדיניות באמצעות REST, צריך לספק רק את השדות שרוצים לעדכן. כל השדות שמשמיטים
שומרים על הערכים הקיימים שלהם.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/vmExtensionPolicies/POLICY_NAME
{
"description": "DESCRIPTION",
"extensionPolicies": {
"EXTENSION_NAME": {
"pinnedVersion": "EXTENSION_NAME_VERSION",
"stringConfig": "EXTENSION_NAME_CONFIG"
}
},
"instanceSelectors": [
{
"labelSelector": {
"inclusionLabels": {
"KEY_1": "VALUE_1",
"KEY_2": "VALUE_2"
}
}
}
],
"priority": PRIORITY_NUMBER
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . -
ZONE: האזור שבו נמצאת מדיניות התוסף של המכונה הווירטואלית. Cloud de Confiance -
POLICY_NAME: שם של מדיניות הרחבת VM לעדכון. -
DESCRIPTION: תיאור של מדיניות התוסף של המכונה הווירטואלית. -
EXTENSION_NAME: השם של התוסף שרוצים לעדכן, שמשמש כמפתח במפהextensionPolicies. כדי לעדכן כמה תוספים, צריך לכלול כמה רשומות בextensionPoliciesmap. -
EXTENSION_NAME_VERSION: הגרסה של תוסף ה-VM. -
EXTENSION_NAME_CONFIG: הגדרות התצורה של תוסף ה-VM, כמחרוזת מוטבעת. -
KEY_1:VALUE_1,KEY_2:VALUE_2: זוגות של מפתח וערך שמגדירים תוויות הכללה לבורר. כדי שמכונות וירטואליות יהיו יעד, הן צריכות לכלול את כל התוויות שצוינו בסלקטור. כדי לציין כמה סלקטורים, צריך לכלול כמה אובייקטים במערךinstanceSelectors, כל אחד עם שדהlabelSelector. במקרה כזה, VM Extension Manager מטרגט מכונות וירטואליות שתואמות לכל אחד מהסלקטורים שצוינו (האופרטור הלוגי OR). אם משמיטים אתinstanceSelectors, המדיניות מטרגטת את כל המכונות הווירטואליות באזור שצוין. -
PRIORITY_NUMBER: מספר העדיפות של מדיניות התוסף של המכונה הווירטואלית.
הסרת תוספים על ידי מחיקת מדיניות של תוסף VM
כשמוחקים מדיניות, VM Extension Manager מסיר את ההתקנה של התוספים מכל מכונות ה-VM שמנוהלות על ידי המדיניות הזו. עם זאת, אם מדיניות פעילה אחרת בעדיפות נמוכה יותר חלה על מכונה וירטואלית ומצהירה על אותו תוסף, התוסף יישאר מותקן במכונה הווירטואלית הזו על סמך המדיניות בעדיפות הנמוכה יותר.
VM Extension Manager מסיר תוספים מכל המכונות הווירטואליות הנגישות תוך דקה ממחיקת המדיניות. אם אי אפשר לגשת למכונה וירטואלית כי סוכן האורח הוסר או שהמכונה הווירטואלית נמחקה, הכלי לניהול תוספים למכונות וירטואליות מדלג על מחיקת התוסף. אם מכונה וירטואלית כזו תהיה זמינה שוב, VM Extension Manager יסיר את התוספים באותו זמן.
עולמי
gcloud
כדי למחוק מדיניות קיימת של תוסף VM גלובלי, משתמשים בפקודה gcloud beta compute global-vm-extension-policies delete.
gcloud beta compute global-vm-extension-policies delete POLICY_NAME \ --project=PROJECT_ID \ --rollout-predefined-plan=ROLLOUT_PLAN \ --rollout-retry-uuid=RETRY_UUID
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות התוסף למכונה הווירטואלית שרוצים למחוק. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS .
ROLLOUT_PLAN: ציוןslow_rolloutאוfast_rollout. אם אתם צריכים להשתמש בתוכנית פריסה בהתאמה אישית, אתם יכולים להשתמש בדגל--rollout-custom-planבמקום בדגל--rollout-predefined-planולציין את שם התוכנית, לדוגמה:--rollout-custom-plan=projects/PROJECT_NUMBER/locations/global/rolloutPlans/ROLLOUT_PLAN_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: הפרויקט שבו מוגדרת תוכנית ההשקה. -
ROLLOUT_PLAN_NAME: השם של תוכנית הפריסה המותאמת אישית שהגדרתם.
אם לא מציינים דגל של תוכנית השקה, המערכת משתמשת ב-
slow_rollout.-
RETRY_UUID: מזהה ייחודי אוניברסלי (UUID) לניסיון חוזר למחיקת מדיניות הרחבות. מגדירים את השדה הזה רק כשמנסים שוב לשלוח בקשת מחיקה למדיניות קיימת שנמצאת במצבDELETING. הגדרת השדה הזה כשהמדיניות לא במצבDELETINGגורמת לשגיאה. מידע נוסף מופיע במאמר בנושא ניסיון חוזר להפעלת תכונה.
REST
כדי למחוק מדיניות גלובלית של תוספים, צריך לשלוח בקשת POST ל-method globalVmExtensionPolicies.delete.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/vmExtensionPolicies/POLICY_NAME
{
"retryUuid": "RETRY_UUID",
"predefinedRolloutPlan": "ROLLOUT_PLAN"
}
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות התוסף למכונה הווירטואלית שרוצים למחוק. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . -
ROLLOUT_PLAN: ציוןslow_rolloutאוfast_rollout. -
RETRY_UUID: מזהה ייחודי אוניברסלי (UUID) לניסיון חוזר למחיקת מדיניות של תוסף. מגדירים את השדה הזה רק כשמנסים שוב לשלוח בקשת מחיקה למדיניות קיימת שנמצאת במצבDELETING. הגדרת השדה הזה כשהמדיניות לא במצבDELETINGגורמת לשגיאה. מידע נוסף מופיע במאמר בנושא ניסיון חוזר להפעלת תכונה.
אזורי
המסוף
- נכנסים לדף VM extension policies במסוף Cloud de Confiance .
- בוחרים את המדיניות שרוצים למחוק.
- לוחצים על Delete.
- בתיבת הדו-שיח לאישור, לוחצים על מחיקה.
gcloud
כדי למחוק מדיניות קיימת של תוסף למכונה וירטואלית, משתמשים בפקודה gcloud compute zone-vm-extension-policies delete.
gcloud compute zone-vm-extension-policies delete POLICY_NAME \ --project=PROJECT_ID \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות התוסף למכונה הווירטואלית שרוצים למחוק. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS . -
ZONE: Cloud de Confiance by S3NS האזור שבו נמצאת המדיניות.
REST
כדי למחוק מדיניות של תוסף אזורי, שולחים בקשת DELETE ל-method zoneVmExtensionPolicies.delete.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/vmExtensionPolicies/POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות התוסף של מכונת ה-VM שרוצים למחוק. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . -
ZONE: Cloud de Confiance by S3NS האזור שבו נמצאת המדיניות.
פתרון בעיות בתוספים של מכונות וירטואליות
בקטע הזה מוסבר איך לפתור בעיות שקשורות לתוספים של מכונות וירטואליות.
במהלך פתרון בעיות, כדאי לעיין ביומני האירועים באמצעות Cloud Logging. פרטים נוספים זמינים במאמר בנושא צפייה ביומני רישום של תוספים למכונות וירטואליות.
איך בודקים אם תוסף מותקן
כדי לוודא שהתוסף מותקן, בודקים את הפרטים הבאים במכונה הווירטואלית:
מתחברים ל-VM ובודקים אם יש תהליכים שפועלים.
בטבלה הבאה מפורטים שמות התהליכים של כל תוסף:
שם התוסף שם התהליך של התוסף google-cloud-sap-extensiongoogle_cloud_sap_agentgoogle-cloud-workload-extensiongoogle_cloud_workload_agentops-agentops_agentLinux
מחליפים אתps aux | grep 'EXTENSION_PROCESS_NAME'
EXTENSION_PROCESS_NAMEבשם התהליך של התוסף. לדוגמה, כדי לבדוק את התהליך של סוכן תפעול, מריצים את הפקודה הבאה:ps aux | grep 'ops_agent'
Windows
מחליפים אתtasklist | findstr "EXTENSION_PROCESS_NAME"
EXTENSION_PROCESS_NAMEבשם התהליך של התוסף. לדוגמה, כדי לבדוק את התהליך של סוכן תפעול, מריצים את הפקודה הבאה:tasklist | findstr "ops_agent"
הפלט של הפקודה
psבמכונת VM עם Linux עבור סוכן התפעול עשוי להציג רשומה דומה לזו:.... /var/lib/google-guest-agent/931374772276853249/plugins/ops-agent_baddabb3dac3 ....
הפעלה ובדיקה של יומנים של סוכני אורחים בקטעי היומן של סוכן האורח מופיעים נתונים על התקנה והפעלה של תוסף.
הדוגמה הבאה מציגה פלט שמופיע ביומנים של סוכן האורח כשמותקן תוסף של סוכן תפעול:
my-instance google_guest_agent [14972]: Installing plugin "ops-agent", revision "2dfa648c1892da87" my-instance google_guest_agent [14972]: (client.go:181) Sent message [[type.googleapis.com/agent_controlplane.PluginEventMessage: (revision_id:"2dfa648c1892da87)]] my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "DownloadPluginStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (pluginengine.go:316) Successfully downloaded "https://storage.googleapis.com/acp-gcs-bucket-us-central1-a/ops-agent my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "UnpackPluginArchiveStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (pluginengine.go:361) Successfully unpacked "/var/lib/google-guest-agent/ops-agent.tar.gz" to "/google-guest-agent/ops-agent_2dfa648c1892da87 my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "LaunchPluginStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (run_linux.go:32) Attempting process start: (OutputType:0 Name:/var/lib/google-guest-agent/plugins/ops-agent_2dfa648c1892da87) my-instance google_guest_agent [14972]: (pluginlauncher.go:132) Launched a plugin process from "/var/lib/google-guest-agent/plugins/ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (plugin.go:136) Dialing in on plugin "ops-agent 2dfa648c1892da87" my-instance google_guest_agent [14972]: (plugin.go:51) Executing start request on plugin "ops-agent_2dfa648c1892da87"
פתרון בעיות בהתקנה
אם תוסף לא מותקן במכונה וירטואלית אחרי שיוצרים מדיניות, אפשר לפתור את הבעיה באמצעות השלבים הבאים:
- מחכים לאכיפת המדיניות. יכולות לחלוף עד שעה לפני שמדיניות תופעל, כולל ניסיונות חוזרים.
- בודקים שהתוויות של ההכללה שצוינו במדיניות תואמות לתוויות במכונה הווירטואלית.
- כדי לזהות שגיאות התקנה פוטנציאליות, מפעילים את רישום ניפוי הבאגים ביומן עבור סוכן האורח.
אחרי שפותרים את הבעיה הבסיסית, מנסים שוב להתקין את התוסף באחת מהשיטות הבאות:
- ליצור מחדש את המדיניות: מוחקים את המדיניות ואז יוצרים מדיניות חדשה.
שימוש במדיניות זמנית עם עדיפות גבוהה: אם רוצים להימנע מיצירה מחדש של מדיניות שמשפיעה על הרבה מכונות וירטואליות, אפשר להשתמש במדיניות זמנית עם עדיפות גבוהה יותר כדי לנסות שוב את ההתקנה במכונות וירטואליות ספציפיות:
- מוסיפים תווית חדשה למכונות הווירטואליות שההתקנה שלהן נכשלה. לדוגמה, מוסיפים תווית
status=failed. יוצרים מדיניות עם עדיפות גבוהה יותר שמטרגטת את התווית החדשה. לדוגמה, אם למדיניות המקורית שנכשלה הייתה עדיפות ברירת המחדל
1000, צריך ליצור מדיניות עם עדיפות גבוהה יותר, כמו500.gcloud beta compute zone-vm-extension-policies create temp-policy \ --project=test-project \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --priority=500 \ --inclusion-labels=status=failedאחרי שההרחבה מותקנת בהצלחה, צריך למחוק את המדיניות הזמנית ולהסיר את התווית מהמכונות הווירטואליות. התוסף נשאר מותקן כי המדיניות המקורית עדיין פעילה.
- מוסיפים תווית חדשה למכונות הווירטואליות שההתקנה שלהן נכשלה. לדוגמה, מוסיפים תווית
צפייה ביומני ניפוי באגים של סוכן האורח
כדי להפעיל את רישום היומנים לניפוי באגים, מוסיפים את ההגדרות של רמת היומן ודרגת המלל לקטע Core בקובץ התצורה של סוכן האורח, באופן הבא:
Linux
- פותחים את קובץ ההגדרות של סוכן האורח שנמצא במיקום
/etc/default/instance_configs.cfg. מוסיפים את השורות הבאות לקובץ. אם הקטע
[Core]כבר קיים, מוסיפים לו את ההגדרותlog_levelו-log_verbosity.[Core] log_level = 4 log_verbosity = 4מפעילים מחדש את מנהל סוכני האורחים באמצעות הפקודה הבאה:
sudo systemctl restart google-guest-agent-managerכדי להציג את היומנים של פעילות הסוכן האורח במהלך התקנת התוסף, מריצים את הפקודה הבאה:
journalctl -u google-guest-agent-manager
Windows
- פותחים את קובץ ההגדרות של סוכן האורח שנמצא במיקום
C:\Program Files\Google\Compute Engine\instance_configs.cfg. מוסיפים את השורות הבאות לקובץ. אם הקטע
[Core]כבר קיים, מוסיפים לו את ההגדרותlog_levelו-log_verbosity.[Core] log_level = 4 log_verbosity = 4מפעילים מחדש את מנהל סוכן האורח על ידי הרצת הפקודה הבאה כאדמין ב-Windows:
net stop GCEAgentManager net start GCEAgentManagerכדי להציג את היומנים של פעילות הסוכן האורח במהלך התקנת התוסף, מריצים את הפקודה הבאה ב-PowerShell:
Get-Eventlog -Source google_guest_agent_manager -LogName Application
אחרי שמפעילים את יומני הניפוי באגים, בודקים אם מופיעות השגיאות הנפוצות הבאות:
- אין מספיק נפח פנוי בדיסק: אם ביומני הרישום מופיע דיווח על נפח פנוי לא מספיק בדיסק, צריך לפנות מקום בדיסק או לשנות את גודל הדיסק כדי להוסיף עוד נפח.
- שימוש מופרז במשאבים: אם היומנים מציינים שהסוכן האורח הפסיק את התוסף בגלל שימוש מופרז בזיכרון או במעבד, צריך לשנות את סוג המכונה של המכונה הווירטואלית לסוג עם יותר משאבים.