בדף הזה מוסבר איך לבדוק את ההשפעות של מדיניות תחזוקת המארח של מכונת Compute Engine על האפליקציות.
אתם יכולים לדמות אירוע תחזוקה במכונות הווירטואליות כדי לבדוק את הדברים הבאים:
- ההשפעות של מיגרציה פעילה על האפליקציות שלכם.
- איך האפליקציות והמשימות שלכם לביצוע בכמות גדולה מטפלות בהקדמה ובכיבוי כשמשתמשים במכונות וירטואליות מסוג Spot.
- איך האפליקציות מטפלות בתהליך הכיבוי וההפעלה מחדש של מכונות שמוגדרות לסיום ולהפעלה מחדש במהלך אירועי תחזוקה, במקום מיגרציה פעילה.
- איך עומסי עבודה שפועלים בשרתים לדייר יחיד מתנהגים במהלך אירוע תחזוקה של המארח, ומה ההשפעות של מדיניות התחזוקה של המארח של מכונת ה-VM בשרת לדייר יחיד על האפליקציות שפועלות במכונות ה-VM.
אם מנסים לדמות אירוע תחזוקה של מארח במופע שלא תומך במיגרציה פעילה, המופע מסתיים או מופעל מחדש, בהתאם למדיניות תחזוקת המארח שהוגדרה.
לפני שמתחילים
- בודקים את מגבלת הקצב האזורית של ה-API של
SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion. -
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
gcloud
-
מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
מגבלות
- כדי לדמות בצורה נכונה אירוע תחזוקה בקבוצת שרתים לדייר יחיד, שמוגדרת בה מדיניות תחזוקה של מארח מסוג העברה בתוך קבוצת השרתים, צריך להפעיל את אירוע התחזוקה ברצף בכל צומת.
- בקבוצת צמתים עם דייר יחיד, כשמנסים לדמות אירוע תחזוקת מארח וקבוצת הצמתים כוללת מדיניות תחזוקת מארח שמוגדרת להעברה בתוך קבוצת הצמתים:
- אם מספר הצמתים שצוין קטן או שווה למספר הכולל של צמתים שמורים, הסימולציה של אירוע התחזוקה של המארח פועלת בו-זמנית בכל הצמתים שצוינו.
- אם מספר הצמתים שצוין גדול ממספר הצמתים הכולל של קבוצת ההשוואה שהוקצתה, הסימולציה תיכשל.
- מספר הסימולציות של אירועי תחזוקה שאפשר להפעיל בדקה בכל אזור מוגבל על ידי הגבלת קצב של יצירת בקשות של API עבור המדד
simulate_maintenance_event_requests_per_region.
הדמיה של אירועי תחזוקה במארח כדי לבדוק את המיגרציה הפעילה
אתם יכולים לדמות אירוע תחזוקה למכונת חישוב באמצעות Google Cloud CLI או בקשת API. האירוע המדומה הזה כולל את פעילויות התחזוקה השונות שמתרחשות באירוע תחזוקה רגיל. כך תוכלו לעקוב אחרי התהליך מקצה לקצה ולבדוק אוטומציה שהטמעתם.
במהלך סימולציה של אירוע תחזוקה של מארח עבור מופע שמשתמש בהעברה פעילה, מפתח המטא-נתונים maintenance-event של המופע עובר את השינויים הבאים:
- בתחילת הסימולציה, הערך של מפתח המטא-נתונים
maintenance-eventמשתנה מ-NONEל-MIGRATE_ON_HOST_MAINTENANCE. - במהלך אירוע הסימולציה, הערך נשאר
MIGRATE_ON_HOST_MAINTENANCE. - אחרי שהסימולציה מסתיימת, הערך חוזר ל-
NONE.
כדי לבצע שאילתה על מפתח אירוע התחזוקה, אפשר לעיין במאמר בנושא ביצוע שאילתה על מפתח המטא-נתונים של אירוע התחזוקה.
gcloud
כדי לדמות אירוע תחזוקה במכונה ולבדוק את הגדרות מדיניות התחזוקה של המארח, משתמשים בפקודה compute instances simulate-maintenance-event:
gcloud compute instances simulate-maintenance-event INSTANCE_NAME \
--zone=ZONE --with-extended-notifications=True
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של המכונה שבה רוצים לדמות את אירוע התחזוקה.אפשר לציין כמה שמות של מכונות, מופרדים ברווחים בודדים, כדי לדמות סימולציה של אירוע תחזוקה ביותר ממכונה אחת באותו תחום (zone). לדוגמה,
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 Engine שמסתיימות
אתם יכולים לדמות אירוע תחזוקה של מכונה ב-Compute Engine באמצעות Google Cloud CLI או בקשת API. האירוע המדומה הזה כולל את פעילויות התחזוקה השונות שמתרחשות באירוע תחזוקה רגיל. כך תוכלו לעקוב אחרי התהליך מקצה לקצה ולבדוק אוטומציה שהטמעתם.
בנוסף, באמצעות הפרמטר --with-extended-notifications עם סוג מכונה נתמך, אתם יכולים לבדוק הפעלה ידנית של תחזוקת המארח במהלך האירוע המדומה.
gcloud
אפשר להשתמש בפקודה
compute instances simulate-maintenance-eventכדי לדמות אירוע תחזוקה של מכונה ולבדוק את הגדרות המדיניות שהוגדרו לתחזוקת המארח. אפשר גם להוסיף את הדגל--with-extended-notifications.gcloud compute instances simulate-maintenance-event INSTANCE_NAME \ --zone=ZONE --with-extended-notifications=True
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של המכונה שבה רוצים לדמות את אירוע התחזוקה.אפשר לציין כמה שמות של מכונות, מופרדים ברווחים בודדים, כדי לדמות סימולציה של אירוע תחזוקה ביותר ממכונה אחת באותו תחום (zone). לדוגמה,
instance-1 instance-2 instance-3.
ZONE: האזור שבו נמצאת המכונה.
אופציונלי: כדי להפעיל ידנית את סימולציה של אירוע תחזוקה, משתמשים בפקודה
compute instances perform-maintenance.gcloud compute instances perform-maintenance INSTANCE_NAME \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של המכונה שבה רוצים לדמות את אירוע התחזוקה.אפשר לציין כמה שמות של מכונות, מופרדים ברווחים בודדים, כדי לדמות סימולציה של אירוע תחזוקה ביותר ממכונה אחת באותו תחום (zone). לדוגמה,
instance-1 instance-2 instance-3.
ZONE: האזור שבו נמצאים המכונות.
REST
יוצרים בקשת
POSTאל ה-methodcompute.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: האזור שבו נמצאת המכונה.
-
אופציונלי: כדי להתחיל ידנית את סימולציה של אירוע תחזוקה, יוצרים בקשת
POSTל-compute.instances.performMaintenancemethod.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: האזור שבו נמצאים המופעים.
הדמיה של אירועי תחזוקה של מארחים בשרתים לדייר יחיד
אתם יכולים לדמות אירוע תחזוקה של מארח בשרתים לדייר יחיד (sole-tenant) באמצעות Google Cloud CLI או בקשת API. במהלך הסימולציה של אירוע תחזוקה של המארח במכונה וירטואלית עם דייר יחיד, הערך של מפתח המטא-נתונים maintenance-event לא משתנה ונשאר NONE לאורך כל הסימולציה.
gcloud
מריצים את הפקודה sole-tenancy node-groups simulate-maintenance-event כדי לאלץ את השרתים לדייר יחיד (sole-tenant) להפעיל את מדיניות התחזוקה שהוגדרה:
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".