במאמר הזה מתוארות הפעולות של השהיה ועצירה במכונות וירטואליות (VM) בקבוצת מופעי מכונה מנוהלים (MIG). בנוסף, מוסבר איך השהיה והפסקה של מכונות וירטואליות בקבוצת MIG יכולות לעזור לכם לחסוך בעלויות ולקצר את זמן ההמתנה כשאתם צריכים עוד מכונות וירטואליות בקבוצה.
באמצעות קבוצות MIG אפשר להשעות ולעצור מכונות וירטואליות כדי להשיג את המטרות הבאות:
- השהיה של אפליקציה או שירות שאתם לא משתמשים בהם כדי לחסוך בעלויות, כי לא תשלמו על משאבי מחשוב.
- האצת הרחבת קבוצת ה-MIG על ידי הפעלה של מכונות וירטואליות שעברו אתחול מראש ממאגר ההמתנה של מכונות וירטואליות שהופסקו והושעו.
תרחישים לדוגמה
בקטעים הבאים מתוארים תרחישי שימוש אופייניים למאגר ההמתנה בקבוצת MIG.
השהיה של אפליקציה או שירות
אתם יכולים להשעות או להפסיק מכונות וירטואליות ב-MIG כדי להשהות את האפליקציה ולהמשיך אותה כשצריך, בהתאם לחישוב, לשעות העבודה, לשעות השיא ולמגבלות התקציב. אתם יכולים לשמור את התוצאות של החישובים הנוכחיים בדיסקים קבועים או, במקרה של מכונות וירטואליות מושעות, בזיכרון.
לדוגמה, יכול להיות שתרצו להשעות או להפסיק את הפעילות של מכונות וירטואליות (VM) בקבוצת מופעי מכונה מנוהלים (MIG) בתרחישים הבאים:
- יש לכם עומסי עבודה כבדים במהלך ימי חול ואתם רוצים להשעות מכונות וירטואליות בסופי שבוע כדי לחסוך בעלויות.
- יש לכם סביבת בדיקה שנדרשת במהלך שינויים בהטמעה, ואתם רוצים להפסיק אותה כשאתם לא מפתחים באופן פעיל.
האצת הגידול של קבוצת MIG
אתם יכולים לשמור מאגר של מכונות וירטואליות (VM) במצב המתנה, שכבר עברו אתחול מראש ומוכנות להפעלה כשהקבוצה של ה-MIG גדלה. במקום ליצור מכונות וירטואליות חדשות ולהמתין עד שהאפליקציה תאותחל ותהיה מוכנה להפעלה, קבוצת ה-MIG מפעילה או מחדשת מכונות וירטואליות ממאגר ההמתנה. במקרה כזה, אתחול המכונה הווירטואלית יושלם מראש, ולא ברגע קריטי של עומס מוגבר.
מאגרי מכונות במצב המתנה שימושיים לאפליקציות שלוקח הרבה זמן לאתחל, למשל בתרחישים הבאים:
- אפליקציות שצריכות להוריד תוכן עדכני לדיסקים מתמידים.
- אפליקציות שצריכות לשמור במטמון תוכן נוסף בזיכרון – באמצעות הורדות מאחסון חיצוני, מחישוב מקומי או משילוב של שניהם.
- אפליקציות שצריכות להתקין תוכנה חדשה במהלך האתחול, כמו צמתים של Kubernetes.
משאבים שנשמרו
בטבלה הבאה מפורטים המשאבים שנשמרים כשמשעים ועוצרים מכונות וירטואליות ב-MIG.
| משומר | מכונה וירטואלית מושעית | VM שהופסק |
|---|---|---|
| שם ה-VM | ||
| כתובת IP פנימית | ||
| כתובת IP חיצונית (זמנית) | ||
| כתובת IP חיצונית (סטטית*) | ||
| דיסקים† | ||
| מטא-נתונים | ||
| זיכרון |
* כדי לשמור כתובת IP חיצונית כשמפסיקים או משעים מכונה וירטואלית ב-MIG, צריך להשתמש בהגדרת MIG עם שמירת מצב כדי להפוך את כתובת ה-IP החיצונית לכתובת IP סטטית.
†אם למכונה וירטואלית מצורפים דיסקים מקומיים מסוג SSD, כשמפסיקים או משעים את המכונה הווירטואלית, הנתונים בדיסקים המקומיים מסוג SSD לא נשמרים.
התנהגות והגדרות
מאגר ההמתנה נוצר ממאגרים של מכונות וירטואליות שהופסקו והושעו. כל מכונות ה-VM שהופסקו הופכות לחלק מהמאגר של מכונות ה-VM שהופסקו, וכל מכונות ה-VM שהושעו הופכות לחלק מהמאגר של מכונות ה-VM שהושעו. אם הגדרתם התאמה אוטומטית לעומס בקבוצת MIG, אחרי שאתם משהים או מפסיקים מכונה וירטואלית, קבוצת ה-MIG יוצרת באופן מיידי מכונות וירטואליות חדשות כדי לשמור על הגודל המומלץ של קבוצת ה-MIG.
גדלי יעד של מאגרי תשלומים מושעים ומופסקים
בדומה לגודל היעד של קבוצת ה-MIG, לקבוצות שהופסקו או שהושעו יש גודל יעד משלהן. אפשר לשלוט בגודל היעד של מאגר הממתינים בדרכים הבאות:
- הגדרת הערכים של גדלי היעד שהופסקו או שהושעו.
- על ידי עצירה והשהיה ידנית של מכונות וירטואליות, מה שגורם לשינוי אוטומטי של גדלי היעד.
כשמשנים את גודל היעד של מאגרי כתובות IP שהופסקו או שהושעו, ה-MIG מתנהג באופן הבא:
- כשמגדילים את הגודל של מאגרי מכונות וירטואליות מושהים או מושבתים, קבוצת ה-MIG יוצרת מכונות וירטואליות חדשות, מחכה עד שהמכונות הווירטואליות יאותחלו ואז משהה או משביתה את המכונות הווירטואליות בהתאם. ב-MIG אזורי, מכונות וירטואליות נוצרות בהתאם לצורת ההתפלגות של היעד שהוגדרה.
- כשמקטינים את הגודל של מאגרי מכונות וירטואליות מושעות או מושבתות, קבוצת המכונות הווירטואליות המנוהלת (MIG) בוחרת באופן שרירותי אילו מכונות וירטואליות מושעות או מושבתות למחוק.
- כשמשנים את גודל היעד של MIG ואת הגודל של מאגר מושהה או מושבת בו-זמנית, ה-MIG מנסה לצמצם את מספר הפעולות שנדרשות כדי להחיל את השינויים. המשמעות היא שקבוצת ה-MIG עשויה להפעיל מחדש מכונות וירטואליות או להתחיל להשתמש במכונות וירטואליות ממאגר ההמתנה, או להשהות או לעצור חלק מהמכונות הווירטואליות שפועלות.
מדיניות המתנה
מדיניות ההמתנה מגדירה את ההתנהגות של מאגר ההמתנה על סמך הפרמטרים הבאים שאתם מציינים:
- Mode: המצב שבו ה-MIG משתמש במכונות וירטואליות מושעות ומופסקות. הערך יכול להיות מצב
manualאו מצבscale-out-pool. - השהיה ראשונית: הזמן שבו ה-MIG מפעיל מכונה וירטואלית שנוצרה לאחרונה לפני שהוא משעה או מפסיק אותה. מגדירים את ההשהיה הראשונית כדי לאפשר מספיק זמן לאפליקציה לבצע אתחול מראש ולהיות מוכנה להפעלה כשהמכונה הווירטואלית מופעלת או מופעלת מחדש.
מצב
אתם יכולים לבחור איך לנהל את מאגרי הממתינים על ידי הגדרת מצב הפעולה.
יש שתי אפשרויות: מצב manual ומצב scale-out-pool.
מצב ידני (ברירת מחדל)
במצב ידני, יש לכם שליטה מלאה במכונות הווירטואליות שמופסקות ומושהות ב-MIG. מצב ידני הוא מצב ברירת המחדל של מאגר ההמתנה.
מצב ידני שימושי במקרים הבאים:
- כדי להשהות את עומס העבודה ולחסוך בעלויות של מכונות וירטואליות שפועלות ללא פעילות.
- כדי לשלב את ה-MIG עם כלי שינוי גודל אוטומטי של צד שלישי שדורשים ניהול מתקדם של מכונות וירטואליות ספציפיות.
- כדי להפסיק מכונות וירטואליות נבחרות למטרות ניפוי באגים.
במצב ידני, קבוצת ה-MIG לא מפעילה אוטומציות על מאגר הממתינים:
- כשאתם או כלי ההתאמה לעומס מגדילים את גודל היעד של ה-MIG, המערכת לא מפעילה או מחדשת באופן אוטומטי את המכונות הווירטואליות, אלא יוצרת מכונות וירטואליות חדשות.
- כשאתם או כלי ההתאמה האוטומטית לעומס מקטינים את גודל היעד של קבוצת ה-MIG, המערכת לא מפסיקה או משעה באופן אוטומטי את המכונות הווירטואליות שפועלות, אלא מוחקת אותן.
מצב מאגר עם הגדלה
במצב של קבוצת מכונות וירטואליות להרחבת היקף הפעילות, קבוצת ה-MIG משתמשת במכונות הווירטואליות ממאגרי ההמתנה כדי להאיץ את הרחבת היקף הפעילות על ידי הפעלה מחדש או הפעלה שלהן. לאחר מכן, ה-MIG ממלא מחדש באופן אוטומטי את מאגר המכונות הווירטואליות במצב המתנה במכונות וירטואליות חדשות, כדי לשמור על גודלי היעד.
מצב מאגר להרחבת היקף השימוש שימושי להאצת הרחבת היקף השימוש ב-MIG במקרים הבאים:
- אם אתם משתמשים בשינוי גודל אוטומטי ב-Compute Engine.
- אם אתם משתמשים בכלי אוטומטיים של צד שלישי לשינוי גודל, ואתם רוצים לשמור על שילוב קיים.
- אם מגדילים באופן ידני את גודל היעד של מכונות וירטואליות שפועלות.
במצב של הגדלת מאגר, ה-MIG מתנהג באופן הבא:
כשאתם או כשהתכונה לשינוי גודל אוטומטי מגדילים את גודל היעד של מכונות וירטואליות פעילות בקבוצת ה-MIG, קבוצת ה-MIG מבצעת פעולה לפי הסדר הבא:
- קבוצת ה-MIG מפעילה מחדש מכונות וירטואליות מושעות אם יש מכונות כאלה באזורים שבהם קבוצת ה-MIG מתרחבת.
- אחרי שמפעילים מחדש את מכונות ה-VM המושהות, אם עדיין לא הושג גודל היעד של ה-MIG, ה-MIG מפעיל מכונות VM מושבתות (אם יש כאלה) באזורים שבהם ה-MIG מתרחב.
- אחרי שמפעילים את המכונות הווירטואליות, אם עדיין לא מגיעים לגודל היעד של ה-MIG, המערכת יוצרת מכונות וירטואליות חדשות מאפס.
אחרי שמשתמשים במאגר ההמתנה כדי להאיץ את הרחבת קנה המידה, ה-MIG מבצע את הפעולות הבאות:
- המערכת יוצרת מכונות וירטואליות חדשות כדי לחדש את המאגרים שהושעו והופסקו, על סמך גודלי היעד שלהם, ובהתאם לצורת חלוקת היעד במקרה של MIG אזורי.
- המכונות הווירטואליות החדשות עוברות למצב פעיל.
- היא משעה או מפסיקה את מכונות ה-VM החדשות אחרי שההשהיה הראשונית מסתיימת.
כשאתם או כלי ההתאמה האוטומטית לעומס מקטינים את גודל היעד של קבוצת ה-MIG, המערכת לא מפסיקה או משעה באופן אוטומטי את המכונות הווירטואליות שפועלות, אלא מוחקת אותן.
השהיה ראשונית
כדי לוודא שהמכונה הווירטואלית מאותחלת בצורה נכונה, צריך לציין את ההשהיה הראשונית במדיניות ההמתנה. העיכוב הראשוני הוא הזמן שחלף מרגע יצירת מכונות וירטואליות ועד שהן מפסיקות או מושהות. כך סקריפט האתחול יספיק לפעול.
העיכוב הראשוני מתרחש במקרים הבאים:
- נוצרת מכונה וירטואלית חדשה עם מצב היעד הרצוי
SUSPENDEDאוTERMINATED. - מכונה קיימת במצב
RUNNINGמושעית או מופסקת.
בשני המקרים, המערכת מאפשרת לאתחל את המופע לפני שהוא מושעה או מופסק.
אם רוצים להשתמש במאגר ההמתנה כדי להרחיב את קבוצת ה-MIG, מומלץ למדוד את הזמן שנדרש לאתחול האפליקציה בסוג המכונה שנבחר, כדי לוודא שהוא מספיק כדי שהאפליקציה תהיה מוכנה לחלוטין לפני ההשהיה או העצירה. במקרים אחרים, חידוש או הפעלה של מכונות וירטואליות ממאגר ההמתנה עשויים להימשך זמן רב יותר מאשר יצירת מכונות וירטואליות מאפס.
סטטוס היעד של מכונות וירטואליות בקבוצות של מכונות מנוהלות (MIG)
ל-MIG יש API הצהרתי. כלומר, אתם מצהירים על סטטוס היעד של מכונות וירטואליות ב-MIG, ובקשת ה-API מצליחה כשסטטוס היעד נשמר. לאחר מכן, ה-MIG מבצע את הפעולות הנדרשות כדי להגיע לסטטוס היעד, ואפשר לבדוק את הפעולה הנוכחית ואת הסטטוס הנוכחי של כל המכונות הווירטואליות באמצעות ה-API.
השעיה ועצירה של מכונות וירטואליות ב-MIG פועלות באותו אופן הצהרתי. כששולחים בקשה להשהיה או להפסקה של מכונות וירטואליות, ה-MIG מאחסן את המידע על סטטוס היעד של כל מכונה וירטואלית ומתחיל את הפעולות הנדרשות כדי להגיע אליו.
כשמציגים רשימה של מכונות וירטואליות מנוהלות בקבוצת MIG, אפשר לראות את השדה targetStatus.
הוא מתאר את הסטטוס הסופי של מכונה וירטואלית, כשה-MIG יציב.
הערך יכול להיות אחד מהערכים הבאים:
RUNNINGSTOPPEDSUSPENDED
למכונות וירטואליות ב-MIG יכולים להיות אותם סטטוסים של מחזור החיים כמו למכונות וירטואליות בודדות.
הדוגמאות הבאות מציגות פעולות אפשריות ב-MIG ואת הערכים המשויכים של השדה targetStatus:
- יוצרים את המכונה הווירטואלית החדשה ומשעים אותה אחרי האתחול.
- סטטוס היעד של מכונת ה-VM:
SUSPENDED.
- סטטוס היעד של מכונת ה-VM:
- הפעלה מחדש של מכונה וירטואלית שהושעתה בעבר.
- סטטוס היעד של ה-VM:
RUNNING
- סטטוס היעד של ה-VM:
- מפסיקים מכונה וירטואלית שפעלה קודם.
- סטטוס היעד של ה-VM:
STOPPED
- סטטוס היעד של ה-VM:
- הפעלת VM שהופסק קודם לכן.
- סטטוס היעד של ה-VM:
RUNNING
- סטטוס היעד של ה-VM:
מגבלות
- המגבלות הבאות שחלות על השעיה של מכונות וירטואליות עצמאיות חלות גם על השעיה של מכונות וירטואליות ב-MIG:
- אי אפשר להשעות מכונה שמשתמשת ב-GPU.
- אי אפשר להשעות מופע Bare Metal.
- אי אפשר להשעות מכונה באמצעות התהליכים הרגילים שמוטמעים בסביבת האורח. פקודות כמו הפקודה
systemctl suspendב-Ubuntu 16.04 ואילך לא זמינות. המערכת מתעלמת מהאות בצד הלקוח. - אפשר להשהות מכונה למשך 60 ימים לכל היותר, ולאחר מכן Compute Engine מפסיק את המכונה באופן אוטומטי.
- אי אפשר להשעות מופעים עם זיכרון בנפח של יותר מ-208GB.
- אפשר להשהות מופעים זמניים של מכונה וירטואלית, אבל יכול להיות שהמופע הזמני של מכונה וירטואלית יופסק לפני שההשהיה תצליח.
- אי אפשר להשעות מכונה וירטואלית חסויה.
- אי אפשר להשעות מכונת חישוב שמצורפים אליה דיסקים שמוגנים באמצעות CSEK (הוצא משימוש).
- ב-MIG אזורי עם
EVENצורת חלוקה של יעד והפעלה של חלוקה מחדש של מכונות וירטואליות, אי אפשר להשהות, להפסיק, להפעיל מחדש או להפעיל מכונות וירטואליות ספציפיות בקבוצה. כדי לנהל מאגר של מכונות במצב המתנה, מגדירים את גדלי היעד של המאגרים במצב השהיה ובמצב עצירה. - אי אפשר להשתמש במצב של מאגר להרחבת קיבולת אם הגדרתם תבנית שנייה של מכונה וירטואלית לעדכון קנרי בקבוצת ה-MIG.
- אי אפשר להשהות או להפסיק מכונות וירטואליות ב-MIG אם השבתתם את התיקונים ב-MIG.
- אפשר להשהות מופע רק למשך 60 ימים לכל היותר לפני שהמכונה הווירטואלית נעצרת באופן אוטומטי.
תמחור
על כל מכונה וירטואלית שהופסקה או הושעתה, יחויבו הפריטים הבאים:
- כל השימוש בדיסק מתמיד בדיסק האתחול ובכל דיסק נוסף שמצורף למכונה הווירטואלית. מידע נוסף זמין במאמר בנושא תמחור של Persistent Disk.
- כל כתובות ה-IP הקבועות שמצורפות ל-VM. מידע נוסף זמין במאמר בנושא תמחור כתובות IP.
- במקרה של מכונות וירטואליות מושהות, הזיכרון של המכונה הווירטואלית ומצב המכשיר. מידע נוסף זמין במאמר מחירון של מכונות VM.
המאמרים הבאים
- איך משעים או מפסיקים מכונות וירטואליות ב-MIG באופן ידני
- איך מאיצים את ההרחבה באמצעות מכונות וירטואליות מושעות ומופסקות
- מידע נוסף על עדכונים למכונות וירטואליות מושעות ומופסקות