כדי לבדוק אם קבוצת המופעים המנוהלת (MIG) האזורית שלכם כוללת מספיק הקצאת יתר ויכולה לשרוד הפסקת חשמל באזור, אתם יכולים להשתמש בדוגמה הבאה כדי לדמות כשל באזור.
לפני שמתחילים
- כדי להשתמש בדוגמאות של שורת הפקודה במדריך הזה, צריך להתקין את Google Cloud CLI.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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 .
שימוש בסקריפט כדי לדמות הפסקת חשמל באזור
הסקריפט הזה מפסיק את Apache ומתחיל אותו מחדש כתרחיש ברירת המחדל. אם זה לא רלוונטי לבקשה שלכם, מחליפים את הפקודות שמפסיקות ומפעילות את Apache בתרחיש משלכם של כשל ושחזור.
פריסה והפעלה של הסקריפט הזה באופן רציף בכל מכונה וירטואלית בקבוצה. כדי לעשות את זה, מוסיפים את הסקריפט לתבנית המופע או כוללים את הסקריפט בתמונה בהתאמה אישית ומשתמשים בתמונה בתבנית המופע.
כדי לדמות כשל באזור, מגדירים את שני שדות המטא-נתונים של הפרויקט האלה:
-
failed_zone: הגדרת האזור שבו רוצים לדמות את ההשבתה (הגבלת הכשל לאזור אחד בלבד). -
failed_instance_names: בחירת מכונות וירטואליות להוצאה ממצב אונליין לפי שם (כדי להגביל את הכשל רק לשמות של מכונות וירטואליות שמכילים את המחרוזת הזו).
אפשר להגדיר את המטא-נתונים האלה באמצעות ה-CLI של gcloud. לדוגמה, הפקודה הבאה מגדירה את ההשבתה של האזור לאזור
europe-west1-bומשפיעה על מכונות וירטואליות שהשמות שלהן מתחילים ב-base-instance-name:gcloud compute project-info add-metadata --metadata failed_zone='europe-west1-b',failed_instance_names='base-instance-name-'
-
אחרי שמסיימים את הסימולציה של ההשבתה, מסירים את מפתחות המטא-נתונים כדי לבצע שחזור מהכשל:
gcloud compute project-info remove-metadata --keys failed_zone,failed_instance_names
ריכזנו כאן כמה רעיונות לתרחישי כשל שאפשר להריץ באמצעות הסקריפט הזה:
- מפסיקים את הפעלת האפליקציה כדי לראות איך ה-MIG מגיב.
- גורמים למכונות הווירטואליות להחזיר את הערך unhealthy (לא תקין) בבדיקות התקינות של איזון העומסים.
- משנים את iptables כדי לחסום חלק מהתנועה אל ה-VM וממנו.
- מכבים את המכונות הווירטואליות. כברירת מחדל, ה-MIG האזורי ייצור אותו מחדש זמן קצר לאחר מכן, אבל הגרסה החדשה תכבה את עצמה באופן מיידי ברגע שהסקריפט יפעל, וכל עוד ערכי המטא-נתונים מוגדרים. התוצאה תהיה לולאת קריסה.