אם יצרתם מכונות וירטואליות ב-Compute Engine עם סוכן תפעול שהותקן במהלך היצירה, או במקרים מסוימים, אם התקנתם את הסוכן במכונות וירטואליות קיימות באמצעות Google Cloud המסוף, Google Cloud נוצרו גם כללי מדיניות של מערכת ההפעלה ב-VM Manager שמתקינים את סוכן תפעול ועוקבים אחריו. במסמך הזה מוסבר איך לשלוח שאילתות למדיניות מערכת ההפעלה של סוכן תפעול ואיך לנהל את סוכן תפעול במכונות וירטואליות שכלולות במדיניות. מידע על יצירת מכונות וירטואליות עם התקנה אוטומטית של סוכן תפעול זמין במאמר התקנת סוכן תפעול במהלך יצירת מכונה וירטואלית.
אחרי שיוצרים מדיניות של מערכת הפעלה ב-סוכן תפעול, אפשר לבצע את הפעולות הבאות:
- קובעים אילו מכונות וירטואליות נכללות במדיניות.
- מגדירים את האזורים שבהם המדיניות חלה.
- הרחבת הכיסוי של המדיניות למכונות וירטואליות קיימות.
- הסרת הסוכן ממכונה וירטואלית שכלולה במדיניות.
חיפוש מכונות וירטואליות שכלולות במדיניות מערכת ההפעלה של סוכן תפעול
אתם יכולים להשתמש במסוף Google Cloud או ב-Google Cloud CLI כדי לראות אילו מכונות וירטואליות בפרויקט Google Cloud שלכם מכוסות על ידי מדיניות מערכת הפעלה של Ops Agent באמצעות הקצאת מדיניות מערכת הפעלה. אם לדעתכם חסר כיסוי של מכונה וירטואלית, תוכלו לפתור את הבעיה באמצעות הפעולות הבאות:
- איך מוודאים שלמכונה וירטואלית יש תווית מדיניות של מערכת ההפעלה של סוכן תפעול
- איך מוודאים שהקצאת מדיניות של מערכת ההפעלה של סוכן תפעול בוצעה בהצלחה
אימות מדיניות מערכת ההפעלה של סוכן תפעול שמוקצית למכונות וירטואליות באזור
כדי לוודא שהמכונות הווירטואליות באזור מסוים מכוסות על ידי מדיניות מערכת ההפעלה של Ops Agent, משתמשים במסוף או ב-CLI של gcloud כדי לראות אם המכונה הווירטואלית קשורה להקצאת מדיניות מערכת הפעלה של Ops Agent. Google Cloud
המסוף
-
נכנסים לדף OS policies במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים את התוצאה שכותרת המשנה שלה היא Compute Engine.
בכרטיסייה VM instances, בוחרים את המכונה הווירטואלית שרוצים לבדוק.
אם המכונה הווירטואלית מכוסה על ידי מדיניות מערכת הפעלה של סוכן תפעול, בעמודה OS policy id מופיע
goog-ops-agent-policyוהמצב הוא Compliant (תואם).
gcloud
כדי להציג רשימה של הקצאות של מדיניות מערכת הפעלה של סוכן תפעול באזור מסוים, מריצים את הפקודה הבאה:
gcloud compute os-config os-policy-assignment-reports list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
הפלט מציג רשימה של מכונות וירטואליות עם הקצאת מדיניות של מערכת הפעלה של סוכן תפעול. אם Ops Agent מותקן במכונה הווירטואלית, בעמודה 'סיכום' יופיע הערך '1/1 policies compliant'.
INSTANCE ASSIGNMENT_ID LOCATION UPDATE_TIME SUMMARY instance-1 goog-ops-agent-v2-x86-template-1-0-0-us-east4-c us-east4-c 2023-04-28T02:11:15.118088Z 1/1 policies compliant instance-3 goog-ops-agent-v2-x86-template-1-0-0-us-east4-c us-east4-c 2023-04-28T02:11:15.118088Z 1/1 policies compliant
אימות של תווית מדיניות של מערכת הפעלה של סוכן תפעול במכונה וירטואלית
כדי לראות אילו מכונות וירטואליות בפרויקט Google Cloud שלכם כוללות את התווית של מדיניות מערכת ההפעלה של סוכן תפעול, goog-ops-agent-policy, אפשר להשתמש במסוף Google Cloud או ב-CLI של gcloud.
המסוף
-
נכנסים לדף VM instances במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים את התוצאה שבה כותרת המשנה היא Compute Engine.
בוחרים את שם המכונה הווירטואלית.
בחלונית מידע בסיסי, מאתרים את הערך תוויות.
אם המכונה הווירטואלית כלולה במדיניות מערכת ההפעלה של סוכן תפעול, היא תכלול תווית כמו
goog-ops-agent-policy:v2-x86-template-1-0-0.
gcloud
כדי לראות את כל מכונות ה-VM שיש להן את תווית מדיניות מערכת ההפעלה של סוכן תפעול goog-ops-agent-policy, מריצים את הפקודה הבאה:
gcloud compute instances list --format="table(name,zone,labels)" --filter="labels=goog-ops-agent-policy"
בפלט מוצגים השם, האזור והתוויות של המכונות הווירטואליות. לדוגמה:
NAME ZONE LABELS
test-vm1 us-central1-a {'goog-ops-agent-policy': 'v2-x86-template-1-0-0'}
test-vm1 us-east4-c {'goog-ops-agent-policy': 'v2-x86-template-1-0-0'}
כדי לבדוק אם למכונת VM ספציפית יש את התווית של מדיניות מערכת ההפעלה של סוכן תפעול, מריצים את הפקודה הבאה:
gcloud compute instances describe --format "yaml(labels)" --zone=ZONE VM_NAME
בפלט מוצגת רשימת התוויות של מכונת ה-VM. אם למכונה הווירטואלית יש את תווית המדיניות של מערכת ההפעלה של סוכן תפעול, אז goog-ops-agent-policy מופיע ברשימה labels. לדוגמה:
labels: goog-ops-agent-policy: v2-x86-template-1-0-0
איך מוודאים שהקצאת מדיניות של מערכת ההפעלה של סוכן תפעול בוצעה בהצלחה
בודקים את הקצאות המדיניות של מערכת ההפעלה בפרויקט כדי לוודא שהקצאת המדיניות של מערכת ההפעלה של סוכן תפעול נפרסה בצורה נכונה לאזור ספציפי. Google Cloud
המסוף
-
נכנסים לדף OS policies במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים את התוצאה שכותרת המשנה שלה היא Compute Engine.
כדי לראות את מצב ההשקה של מדיניות מערכת ההפעלה, לוחצים על הכרטיסייה הקצאות של מדיניות מערכת ההפעלה.
למדיניות של מערכת ההפעלה של סוכן תפעול יש הקצאות עם מזהים שמתחילים במחרוזת goog-ops-agent. אם ההקצאה הופצה בהצלחה, מצב ההפצה שלה הוא 'הושלם'.
gcloud
כדי להציג את כל ההקצאות של מדיניות מערכת ההפעלה של סוכן תפעול באזור מסוים, מריצים את הפקודה הבאה:
gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
הפלט מציג רשימה של הקצאות של מדיניות מערכת הפעלה של סוכן תפעול באזור. אם ההקצאה הופצה בהצלחה, מצב ההפצה שלה הוא SUCCEEDED. לדוגמה:
ASSIGNMENT_ID ROLLOUT_STATE REVISION_CREATE_TIME REVISION_ID goog-ops-agent-v2-x86-template-1-4-0-us-central1-b SUCCEEDED 2023-01-28T05:23:41Z. 940df3e9-77fd-470b-84df-53fb24825c4a goog-ops-agent-v2-x86-template-1-0-0-us-central1-b SUCCEEDED 2022-01-28T05:23:41Z. qwareaff-efte-erew-aeet-faer234t4gga
כדי לראות פרטים על הקצאה ספציפית של מדיניות מערכת הפעלה של סוכן תפעול, מריצים את הפקודה הבאה:
gcloud compute os-config os-policy-assignments describe POLICY_ASSIGNMENT_ID --location=ZONE
הסרת Ops Agent במכונות וירטואליות שמכוסות על ידי מדיניות מערכת ההפעלה של Ops Agent
אם מסירים את סוכן התפעול באופן ידני במכונה וירטואלית שמכוסה על ידי מדיניות מערכת ההפעלה של סוכן התפעול, המדיניות מתקינה אותו מחדש. כדי להסיר את סוכן התפעול, קודם צריך להסיר את התווית goog-ops-agent-policy מהמכונה הווירטואלית. אחרי שמסירים את תווית המדיניות של מערכת ההפעלה של סוכן תפעול ממכונה וירטואלית, אפשר להסיר את סוכן תפעול באופן סופי.
הסרת סוכן תפעול ממכונה וירטואלית ספציפית
כדי להסיר את המדיניות ולהסיר את ההתקנה של סוכן תפעול ממכונה וירטואלית ספציפית, אפשר להשתמש במסוף Google Cloud או ב-CLI של gcloud.
המסוף
-
נכנסים לדף VM instances במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים את התוצאה שבה כותרת המשנה היא Compute Engine.
בוחרים את השם של המכונה הווירטואלית שרוצים לערוך.
לוחצים על Edit.
עוברים לקטע Labels ולוחצים על + Add Labels.
מוצאים את התווית עם המפתח
goog-ops-agent-policyולוחצים על מחיקת הפריט.
gcloud
כדי להסיר את התווית
goog-ops-agent-policyממכונה וירטואלית, מריצים את הפקודה הבאה:gcloud compute instances update VM_NAME \ --remove-labels=goog-ops-agent-policy
הסרת ההתקנה של סוכן תפעול בכל המכונות הווירטואליות
כדי להסיר את Ops Agent ממכונות וירטואליות באזור שבו יש הקצאה של מדיניות מערכת הפעלה של Ops Agent, משתמשים בסקריפט שסופק על ידי Cloud Monitoring. אי אפשר להסיר את ההתקנה של הסוכן מקבוצה של מכונות וירטואליות באמצעות מסוף Google Cloud .
כדי להריץ את הסקריפט, צריך להיות לכם תפקיד עורך של מדיניות אורחים (roles/osconfig.guestPolicyEditor).
מריצים את הסקריפט הבא ב-Cloud Shell. אפשר לציין כל מספר של אזורים:
curl -sSO https://dl.google.com/cloudagents/undo-ops-agent-policies.sh bash undo-ops-agent-policies.sh ZONE1 ZONE2
הסקריפט מבצע את המשימות הבאות בכל אזור:
- מוצא את כל כללי המדיניות של מערכת ההפעלה של סוכן תפעול.
- עריכה של כל מדיניות כך שהיא תסיר את ההתקנה של סוכן תפעול במכונות הווירטואליות שהיא חלה עליהן.
- מחיקת מדיניות מערכת ההפעלה של סוכן תפעול.
- התווית
goog-ops-agent-policyמוסרת מכל מכונה וירטואלית שכלולה בכיסוי.
הוספת כיסוי של מדיניות מערכת הפעלה של סוכן תפעול למכונה וירטואלית קיימת
מדיניות מערכת ההפעלה של סוכן תפעול חלה רק על מכונות וירטואליות עם התווית goog-ops-agent-policy שנמצאות באותו אזור כמו הקצאה קיימת של מדיניות מערכת ההפעלה של סוכן תפעול. עם זאת, אפשר להרחיב את הכיסוי למכונות וירטואליות אחרות שנוצרו בלי שמדיניות מערכת ההפעלה של סוכן תפעול הוקצתה להן.
כדי להרחיב את הכיסוי של המדיניות למכונה וירטואלית, צריך לדעת את גרסת התבנית של הקצאת מדיניות מערכת ההפעלה של סוכן תפעול באזור שלכם. אם באזור שלכם יש כמה הקצאות של מדיניות מערכת הפעלה של סוכן תפעול, צריך למצוא את ההקצאה עם הגרסה האחרונה של התבנית. כדי להציג רשימה של הקצאות של מדיניות מערכת הפעלה של סוכן תפעול באזור, מריצים את הפקודה הבאה:
gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
כדי להרחיב את הכיסוי של המדיניות למכונות וירטואליות אחרות, משתמשים במסוף Google Cloud או ב-CLI של gcloud:
המסוף
-
נכנסים לדף VM instances במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים את התוצאה שבה כותרת המשנה היא Compute Engine.
ברשימה VM instances, מסמנים את תיבות הסימון לצד המכונות הווירטואליות שרוצים להוסיף להן תוויות ולוחצים על Labels.
כדי להוסיף תוויות, לוחצים על +הוספת תווית ומוסיפים את צמד המפתח/ערך. המפתח חייב להיות
goog-ops-agent-policyוהערך הוא גרסת התבנית הרצויה, למשל1-0-0.שומרים את השינויים.
gcloud
כדי להרחיב את הכיסוי של המדיניות למכונת VM שלא נכללת בכיסוי, מריצים את הפקודות הבאות:
gcloud compute instances update VM_NAME --zone=ZONE --update-labels=goog-ops-agent-policy:v2-x86-template-1-0-0
gcloud compute instances add-metadata VM_NAME --zone=ZONE --metadata=enable-osconfig=TRUE
הרשאה
ההתקנה של סוכן תפעול מתבצעת באמצעות VM Manager, ונדרשות הרשאות כדי להפעיל את VM Manager API וליצור מדיניות. כל ההרשאות הנדרשות זמינות באמצעות התפקיד Editor (roles/Editor). לחלופין, אפשר לבקש מאדמין של הפרויקט להעניק את ההרשאות המינימליות באמצעות Google Cloud CLI.
הרשאות שנדרשות להתקנת סוכן תפעול במהלך יצירת מכונה וירטואלית:
serviceusage.services.getserviceusage.services.enableosconfig.osPolicyAssignments.getosconfig.osPolicyAssignments.createosconfig.projectFeatureSettings.updatecompute.instances.create
ההרשאות הנדרשות להתקנת סוכן תפעול במכונות וירטואליות קיימות:
serviceusage.services.getserviceusage.services.enableosconfig.osPolicyAssignments.getosconfig.osPolicyAssignments.createosconfig.projectFeatureSettings.updatecompute.instances.setMetadatacompute.instances.setLabels
במאמר העזרה בנושא תפקידים בסיסיים ומוגדרים מראש ב-IAM תוכלו למצוא תפקידים מקבילים שמספקים את ההרשאות האלה.
פקודות לדוגמה להקצאת תפקידים לצורך הרשאות:
gcloud projects add-iam-policy-binding project-id --member='user:user-email' --role='roles/osconfig.projectFeatureSettingsEditor'