הפעלה ידנית של אירוע תחזוקה של מארח

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

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

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

סדרות מכונות נתמכות

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

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

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

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    gcloud

    1. התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  • הגדרת אזור ותחום כברירת מחדל.
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud.

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות לניהול תחזוקה של מכונות וירטואליות, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין מכונות של Compute ‏ (v1) (roles/compute.instanceAdmin.v1) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

ההרשאות הנדרשות

כדי לנהל את התחזוקה של המכונות הווירטואליות, צריך את ההרשאות הבאות:

  • כדי לקבל מידע על מכונה: compute.instances.get

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

הפעלה ידנית של אירוע תחזוקה במארח

‫Compute Engine שולח התראות על אירועי תחזוקה קרובים בכמה שיטות. בעזרת המידע בהתראות, תוכלו לקבוע את מסגרת הזמן שבה תוכלו להתחיל ידנית אירוע תחזוקה.

בדיקת פרטי ההתראה

אתם יכולים למצוא את ההתראות לגבי אירועי תחזוקה באחת מהדרכים הבאות:

אם ההתראה על אירוע תחזוקה של המארח מכילה את canReschedule=True ו-maintenanceStatus=Pending, יש לכם אפשרות להתחיל את התחזוקה בזמן שתבחרו, או להמתין עד שאירוע התחזוקה יתבצע בזמן שצוין על ידי windowStartTime.

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

There is no reschedulable upcoming maintenance.

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

התחלת אירוע התחזוקה

אתם יכולים להתחיל את תחזוקת המארח בזמן שאתם בוחרים, במקום לחכות לזמן המתוזמן. כדי להפעיל את אירוע התחזוקה, משתמשים ב-Google Cloud CLI או ב-REST. האירוע יתחיל מיד.

gcloud

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

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

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

  • ‫INSTANCE_NAME: השם של מופע Compute.
  • ‫ZONE: האזור שבו נמצאת המכונה.

התגובה אמורה להיראות כך:

resourceStatus:
  upcomingMaintenance:
    canReschedule: false
    latestWindowStartTime: '2025-01-15T19:57:17Z'
    maintenanceStatus: ONGOING
    type: SCHEDULED
    windowEndTime: '2025-01-15T23:57:11Z'
    windowStartTime: '2025-01-15T19:57:16Z'

בתגובה, הערך של canReschedule הוא false והערך של maintenanceStatus הוא ONGOING, מה שמציין שפעולת התחזוקה של המארח מתבצעת.

REST

כדי להתחיל אירוע תחזוקה, יוצרים בקשת POST באמצעות ה-method‏ instances.performMaintenance.

POST: https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME/performMaintenance

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

  • ‫PROJECT_NAME: שם הפרויקט
  • ‫ZONE: האזור שבו נמצאת מכונת ה-Compute
  • ‫INSTANCE_NAME: השם של המכונה

התגובה נראית כך:

upcomingMaintenance:{
  "canReschedule":false
  "latestWindowStartTime": "2023-12-01T19:00:01Z"
  "maintenanceStatus":"ONGOING"
  "type":"SCHEDULED"
  "windowEndTime": "2023-12-01T22:00:00Z"
  "windowStartTime": "2023-12-01T19:00:00Z"
}

בתגובה, הערך של canReschedule הוא false והערך של maintenanceStatus הוא ONGOING, מה שמציין שפעולת התחזוקה של המארח מתבצעת.

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