סימולציה של אירוע תחזוקה של מארח

בדף הזה מוסבר איך לבדוק את ההשפעות של מדיניות תחזוקת המארח של מכונת Compute Engine על האפליקציות שלכם.

אתם יכולים לבצע סימולציה של אירוע תחזוקה במכונות הווירטואליות כדי לבדוק את הדברים הבאים:

  • ההשפעות של מיגרציה פעילה על האפליקציות שלכם.
  • איך האפליקציות והמשימות באצווה מטפלות בהפסקת פעולה ובכיבוי כשמשתמשים במכונות Spot VM אחת או יותר.
  • איך האפליקציות מטפלות בתהליך של כיבוי והפעלה מחדש של מכונות וירטואליות שהוגדרו לסיום והפעלה מחדש במהלך אירועי תחזוקה, במקום לבצע העברה פעילה.
  • איך עומסי עבודה שפועלים בשרתים לדייר יחיד מתנהגים במהלך אירוע תחזוקה של המארח, ומה ההשפעות של מדיניות התחזוקה של המארח של מכונת ה-VM בשרת לדייר יחיד על האפליקציות שפועלות במכונות ה-VM.

אם מנסים לדמות אירוע תחזוקה של מארח במופע שלא תומך במיגרציה פעילה, המופע מסתיים או מופעל מחדש, בהתאם למדיניות תחזוקת המארח שהוגדרה.

לפני שמתחילים

מגבלות

  • כדי לבצע סימולציה נכונה של אירוע תחזוקה בקבוצת שרתים לדייר יחיד שמוגדרת בה מדיניות תחזוקת מארח עם הערך העברה בתוך קבוצת הצמתים, צריך להפעיל את אירוע התחזוקה באופן עקבי בכל צומת.
  • בקבוצת צמתים עם דייר יחיד, כשמנסים לדמות אירוע תחזוקת מארח ומוגדרת בקבוצת הצמתים מדיניות תחזוקת מארח להעברה בתוך קבוצת הצמתים:
    • אם מספר הצמתים שצוין קטן ממספר הצמתים הכולל של ההמתנה או שווה לו, סימולציית אירוע תחזוקת המארח תפעל עבור כל הצמתים שצוינו בו-זמנית.
    • אם מספר הצמתים שצוין גדול ממספר הצמתים הכולל של קבוצת ההשוואה שהוקצו, הסימולציה תיכשל.
  • מספר הסימולציות של אירועי תחזוקה שאפשר להפעיל בדקה בכל אזור מוגבל על ידי מגבלת קצב העברת הנתונים של ה-API עבור המדד simulate_maintenance_event_requests_per_region.

סימולציה של אירועי תחזוקה של המארח כדי לבדוק מיגרציה פעילה

אתם יכולים לדמות אירוע תחזוקה למכונת Compute באמצעות Google Cloud CLI או בקשת API. האירוע המדומה הזה כולל את פעילויות התחזוקה השונות שמתרחשות באירוע תחזוקה רגיל. כך תוכלו לראות את התהליך מקצה לקצה ולבדוק את האוטומציה שהטמעתם.

במהלך סימולציה של אירוע תחזוקה של מארח עבור מופע שמשתמש בהעברה פעילה, מפתח המטא-נתונים maintenance-event של המופע עובר את השינויים הבאים:

  1. בתחילת הסימולציה, הערך של מפתח המטא-נתונים maintenance-event משתנה מ-NONE ל-MIGRATE_ON_HOST_MAINTENANCE.
  2. במהלך אירוע הסימולציה, הערך נשאר MIGRATE_ON_HOST_MAINTENANCE.
  3. אחרי שהסימולציה מסתיימת, הערך חוזר ל-NONE.

כדי לבצע שאילתה לגבי מפתח אירוע התחזוקה, אפשר לעיין במאמר בנושא ביצוע שאילתה לגבי מפתח המטא-נתונים של אירוע התחזוקה.

gcloud

משתמשים בפקודה compute instances simulate-maintenance-event כדי לדמות אירוע תחזוקה של מכונה ולבדוק את הגדרות המדיניות שהוגדרו לתחזוקת המארח:

gcloud compute instances simulate-maintenance-event INSTANCE_NAME \
    --zone=ZONE --with-extended-notifications=True

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_NAME: השם של מופע Compute שבו רוצים לדמות את אירוע התחזוקה.

    אפשר לציין כמה שמות של מופעים, מופרדים ברווחים בודדים, כדי לדמות אירועי תחזוקה ביותר ממופע אחד באותו אזור. לדוגמה, instance-1 instance-2 instance-3.

  • ZONE: האזור שבו נמצאת המכונה.

REST

שליחת בקשת POST אל ה-method‏ compute.instances.simulateMaintenanceEvent:

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט של הבקשה הזו.
  • INSTANCE_NAME: השם של המכונה שרוצים לדמות את אירוע התחזוקה שלה.
  • ZONE: האזור שבו נמצאת המכונה.

סימולציה של תחזוקת מארח למכונות וירטואליות שמופסקות

אתם יכולים לדמות אירוע תחזוקה למכונת Compute באמצעות Google Cloud CLI או בקשת API. האירוע המדומה הזה כולל את פעילויות התחזוקה השונות שמתרחשות באירוע תחזוקה רגיל. כך תוכלו לעקוב אחרי התהליך מקצה לקצה ולבדוק את האוטומציה שהטמעתם.

בנוסף, באמצעות הפרמטר --with-extended-notifications עם סוג מכונה נתמך, אפשר לבדוק באופן ידני את התחלת התחזוקה של המארח במהלך האירוע המדומה.

gcloud

  1. כדי לדמות אירוע תחזוקה של מכונה ולבדוק את הגדרות המדיניות שהוגדרו לגבי תחזוקת המארח, משתמשים בפקודה compute instances simulate-maintenance-event. אפשר גם להוסיף את הדגל --with-extended-notifications.

    gcloud compute instances simulate-maintenance-event INSTANCE_NAME \
       --zone=ZONE --with-extended-notifications=True
    

    מחליפים את מה שכתוב בשדות הבאים:

    • INSTANCE_NAME: השם של מופע Compute שבו רוצים לדמות את אירוע התחזוקה.

      אפשר לציין כמה שמות של מופעים, מופרדים ברווחים בודדים, כדי לדמות אירועי תחזוקה ביותר ממופע אחד באותו אזור. לדוגמה, instance-1 instance-2 instance-3.

    • ZONE: האזור שבו נמצאת המכונה.

  2. אופציונלי: כדי להפעיל ידנית את סימולציה של אירוע תחזוקה, משתמשים בפקודה compute instances perform-maintenance.

    gcloud compute instances perform-maintenance INSTANCE_NAME \
       --zone=ZONE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • INSTANCE_NAME: השם של מופע Compute שבו רוצים לדמות את אירוע התחזוקה.

      אפשר לציין כמה שמות של מופעים, מופרדים ברווחים בודדים, כדי לדמות אירועי תחזוקה ביותר ממופע אחד באותו אזור. לדוגמה, instance-1 instance-2 instance-3.

    • ZONE: האזור שבו נמצאים המופעים.

REST

  1. יוצרים בקשת POST אל ה-method‏ compute.instances.simulateMaintenanceEvent. אפשר גם לכלול את פרמטר השאילתה withExtendedNotifications.

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent?withExtendedNotifications=True
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט של הבקשה הזו.
    • INSTANCE_NAME: השם של המכונה שרוצים לדמות את אירוע התחזוקה שלה.
    • ZONE: האזור שבו נמצאת המכונה.
  2. אופציונלי: כדי להתחיל ידנית את סימולציה של אירוע תחזוקה, צריך ליצור בקשת POST ל-methodcompute.instances.performMaintenance.

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance
    

    מחליפים את מה שכתוב בשדות הבאים:

    • INSTANCE_NAME: השם של מופע Compute שבו רוצים להתחיל את אירוע התחזוקה.

      אפשר לציין כמה שמות של מופעים בהפרדה של רווחים בודדים כדי לבצע אירועי תחזוקה ביותר ממופע אחד באותו אזור. לדוגמה, instance-1 instance-2 instance-3.

    • ZONE: האזור שבו נמצאים המופעים.

סימולציה של אירועי תחזוקה של מארחים בשרתים לדייר יחיד

אתם יכולים לדמות אירוע תחזוקה של מארח בצמתים של דייר יחיד באמצעות Google Cloud CLI או בקשת API. במהלך הסימולציה של אירוע תחזוקה של המארח במכונה וירטואלית עם דייר יחיד, הערך של מפתח המטא-נתונים maintenance-event לא משתנה ונשאר NONE לאורך כל הסימולציה.

gcloud

מריצים את הפקודה sole-tenancy node-groups simulate-maintenance-event כדי לאלץ צמתים של דייר יחיד להפעיל את מדיניות התחזוקה שהוגדרה להם:

 gcloud compute sole-tenancy node-groups simulate-maintenance-event NODE_GROUP \
    --nodes=NODE_NAMES \
    --zone=ZONE \
    --async

מחליפים את מה שכתוב בשדות הבאים:

  • NODE_GROUP: השם של קבוצת הצמתים שבה רוצים לדמות את אירוע התחזוקה.

  • NODE_NAMES: שמות הצמתים שבהם רוצים לדמות את אירוע התחזוקה. כשמציינים כמה שמות של צמתים, צריך להשתמש בערכים מופרדים בפסיקים, למשל, node-1,node-2,node-3.

  • ZONE: האזור שבו נמצאים הצמתים.

REST

שליחת בקשת POST אל ה-method‏ compute.nodeGroups.simulateMaintenanceEvent:

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/NODE_GROUP/simulateMaintenanceEvent

{
  "nodes": [
      "NODE_NAMES"
  ]
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט של הבקשה הזו.
  • ZONE: האזור שבו נמצאים הצמתים.
  • NODE_GROUP: השם של קבוצת הצמתים שבה רוצים לדמות את אירוע התחזוקה.
  • NODE_NAMES: השמות של הצמתים שבהם רוצים לדמות את אירוע התחזוקה. מקיפים את שם הצומת במירכאות כפולות, לדוגמה, "node-1". כשמציינים כמה שמות של צמתים, צריך להשתמש בערכים מופרדים בפסיקים, למשל, "node-1","node-2","node-3".

המאמרים הבאים