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

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

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

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

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

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

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

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

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

    gcloud

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

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

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

      התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

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

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

כדי לקבל את ההרשאות שנדרשות לניהול תחזוקה של מכונות וירטואליות, צריך לבקש מהאדמין להקצות לכם ב-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.s3nsapis.fr/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, מה שמציין שפעולת התחזוקה של המארח מתבצעת.

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