כברירת מחדל, קבוצת מופעי מכונה מנוהלים (MIG) אזורית מחלקת את המכונות הווירטואליות (VM) המנוהלות שלה באופן שווה בין האזורים שנבחרו. אבל אם אתם צריכים חומרה שלא זמינה בכל האזורים או שזמינה באופן זמני באזורים נבחרים, או אם אתם צריכים לתעדף את השימוש בהזמנות אזוריות, יכול להיות שתעדיפו הפצה אחרת.
כדי להגדיר איך קבוצת MIG אזורית תפיץ את המכונות המנוהלות באזורים שנבחרו בתוך אזור, מגדירים את צורת ההפצה של קבוצת ה-MIG. אלה האפשרויות הזמינות:
- EVEN (ברירת המחדל): הקבוצה יוצרת ומוחקת מכונות וירטואליות כדי להגיע לאותו מספר של מכונות וירטואליות באזורים שנבחרו, ולשמור על המספר הזה. בהפצה מסוג
EVEN, ההפרש בין מספר המכונות הווירטואליות בכל שני אזורים הוא לכל היותר 1. מומלץ לעומסי עבודה של הצגת מודעות בזמינות גבוהה. - BALANCED: הקבוצה נותנת עדיפות ליצירת מכונות וירטואליות באזורים שבהם יש משאבים זמינים, ומפזרת את המכונות הווירטואליות באופן שווה ככל האפשר בין האזורים שנבחרו כדי למזער את ההשפעה של כשל באזור. מומלץ לעומסי עבודה של הצגה או אצווה בזמינות גבוהה.
- ANY: הקבוצה בוחרת אזורים ליצירת מכונות וירטואליות כדי למלא את מספר המכונות הווירטואליות המבוקש, במסגרת מגבלות המשאבים הקיימות וכדי למקסם את הניצול של המקומות השמורים שלא נוצלו באזורים. מומלץ לעומסי עבודה באצווה שלא דורשים זמינות גבוהה.
- ANY SINGLE ZONE: הקבוצה יוצרת את כל המכונות הווירטואליות באזור אחד. האזור נבחר על סמך תמיכה בחומרה, זמינות נוכחית של משאבים ומכסות, והזמנות תואמות. מומלץ בשילוב עם מדיניות למיקום קומפקטי של מכונות וירטואליות לעומסי עבודה שדורשים תקשורת נרחבת בין מכונות וירטואליות.
בוחרים אפשרות בהתאם לדרישות של עומס העבודה וליכולות של קבוצת ה-MIG שאתם צריכים. טבלת השוואה, תרחישים לדוגמה ואיך פועלות צורות ההתפלגות.
השוואה בין צורות
בטבלה הבאה מפורטים עומסי העבודה, המטרה, התפלגות המכונות המנוהלות, התמיכה בתכונות ותיאור קצר של ההתנהגות של קבוצת המכונות המנוהלות כשאין משאבים זמינים, לכל אחת מהצורות האפשריות של קבוצת המכונות המנוהלות.
EVEN (ברירת המחדל) |
BALANCED |
ANY |
ANY_SINGLE_ZONE |
|
|---|---|---|---|---|
| עומסי העבודה המיועדים | עומסי עבודה של הצגת מודעות בזמינות גבוהה (עם או בלי שמירת מצב) | עומסי עבודה של הצגה בזמינות גבוהה (עם שמירת מצב או בלי שמירת מצב) עומסי עבודה של אצווה בזמינות גבוהה |
עומסי עבודה באצווה | עומסי עבודה באצווה שדורשים תקשורת נרחבת בין מכונות וירטואליות |
| מטרה | מזעור ההשפעה של כשל ברמת האזור, בהנחה שיש מספיק משאבים זמינים בכל אזור. | לצמצם ככל האפשר את ההשפעה של כשל ברמת האזור, בהתחשב בזמינות המשאבים בכל אזור. | לתת עדיפות לרכישת משאבים ולניצול של מקומות שמורים שלא נוצלו. | כדי לצמצם את זמן האחזור ברשת ואתבין המכונות הווירטואליות, כדאי לשמור את כולן באותו אזור. |
| התפלגות היעד של מכונות מנוהלות בין אזורים | זוגי. מספר המכונות המנוהלות לא שונה ביותר מ-1 בין כל שני אזורים, ללא קשר לזמינות המשאבים.* יכול להיות שחלק מהמכונות המנוהלות לא יפעלו במקרה של מגבלות קיבולת באזור. |
כמה שיותר שווה. אין התחייבות לגבי הבדלים במספר המכונות הווירטואליות בין אזורים, כי הוא תלוי בזמינות המשאבים הנוכחית. כשהמשאבים זמינים, ההקצאה דומה ל- EVEN. במקרה הגרוע ביותר של אילוצי משאבים, ההתפלגות יכולה להיות בכל צורה. |
כל סוג. בכל אזור יכול להיות מספר שונה של מכונות מנוהלות (כולל כולן או אף אחת). |
אזור אחד. כל המכונות נוצרות באזור אחד. קבוצת ה-MIG בוחרת את האזור בכל פעם שהיא מתרחבת אופקית בהתאם לעומס (scale out) מאפס מכונות וירטואליות. |
| תמיכה בתכונות | EVEN (ברירת המחדל) |
BALANCED |
ANY |
ANY_SINGLE_ZONE |
| התאמה אוטומטית לעומס (Autoscaling) | ||||
| עדכונים של Canary | ||||
| הפעלה גמישה של מכונות | ||||
| חלוקה מחדש יזומה של מכונות | לא רלוונטי | |||
| הזמנות | מנוצלים באופן מקסימלי בכל אזור בנפרד. ההזמנות לא משפיעות על אופן ההפצה של המכונות. |
מנוצלים באופן מקסימלי בכל אזור בנפרד. אם יש מקומות שמורים, הם יכולים לעזור להגיע לחלוקה מאוזנת. |
מנוצלים באופן מקסימלי באזור. הקבוצה נותנת עדיפות לשימוש במקומות השמורים באזור. |
מנוצלים באופן מקסימלי באזור שנבחר. אם בקבוצה אין מכונות וירטואליות וצריך ליצור מכונה וירטואלית אחת או יותר, הקבוצה נותנת עדיפות לאזור עם הכי הרבה מקומות שמורים, אם באזור הזה יש גם מספיק משאבים והוא תומך בחומרה כדי למלא את הבקשה. |
| דרישות החומרה של תבנית של הגדרות מכונה ושל הגדרות עם שמירת מצב (סוג המכונה, מעבד, GPU, דיסקים קיימים) | החומרה שנבחרה צריכה להיות זמינה בכל האזורים שנבחרו. | החומרה שנבחרה חייבת להיות זמינה באזור אחד לפחות שנבחר. | החומרה שנבחרה חייבת להיות זמינה באזור אחד לפחות שנבחר. | החומרה שנבחרה חייבת להיות זמינה באזור אחד לפחות שנבחר. |
| שרתים לדייר יחיד (sole-tenant) | ||||
| טיפול בכשלים | EVEN (ברירת המחדל) |
BALANCED |
ANY |
ANY_SINGLE_ZONE |
| חוסר זמינות זמני של משאבים באזור מסוים | Exposed יצירת מופעים מנוהלים חדשים באזורים עם פחות מופעים מנוהלים. מנסה שוב ושוב ליצור מכונות וירטואליות באזור שבו המשאבים לא זמינים, עד שהפעולה מצליחה. הסיכון: אי אפשר ליצור מכונות וירטואליות באזור עם משאבים מוגבלים. |
עמידות המערכת יוצרת מכונות מנוהלות חדשות באזורים שבהם יש משאבים זמינים, ומפזרת את המכונות באופן שווה ככל האפשר בין האזורים. הסיכון: יכול להיות שהמכונות הווירטואליות לא יחולקו באופן שווה בין האזורים. |
עמידות יצירת מכונות מנוהלות חדשות באזורים שבהם יש משאבים זמינים, כדי למקסם את השימוש בהזמנות שלא נוצלו. סיכון: יכול להיות שהמכונות הווירטואליות לא יחולקו באופן שווה בין האזורים. |
עמידות ביצירת קבוצות ושינוי גודל מאפס יצירת מכונות וירטואליות חדשות באזור זמין אחד, שבו המשאבים זמינים. סיכון: אם באזור שנבחר אין מספיק משאבים, אי אפשר להבטיח שכל המכונות הנוספות ייווצרו בהצלחה במהלך בקשות להרחבה אופקית בהתאם לעומס (scale out). |
| כשל ברמת האזור | עמידות ההשפעה מצומצמת כי המכונות באזורים התקינים ממשיכות לפעול. כדי לצמצם עוד יותר את ההשפעה, אפשר להקצות מכונות נוספות, כך שגם אם אזור אחד יושבת, המכונות האחרות יספיקו. |
עמידות ההשפעה מצומצמת כי המכונות באזורים התקינים ממשיכות לפעול. כדי לצמצם עוד יותר את ההשפעה, אפשר להקצות מכונות נוספות, כך שגם אם אזור אחד יושבת, המכונות האחרות יספיקו. |
חשוף הפסקה זמנית בשירות עלולה לקרות אם רוב המכונות או כולן מרוכזות באזור שנכשל. |
חשוף הפסקה בלתי נמנעת אם הכשל מתרחש באזור שנבחר. |
*אם מוסיפים או מסירים מכונות כשההפצה הפרואקטיבית מושבתת, יכול להיות שההפצה לא תהיה שווה. התפלגות לא אחידה יכולה לקרות גם בקבוצת MIG עם התאמה לעומס, אם אזור מסוים נכשל או שאין בו מספיק קיבולת.
תרחישים לדוגמה
בודקים את התכונות הנתמכות ובוחרים צורת הפצה בהתאם לתרחיש לדוגמה.
חלוקה שווה של עומסי העבודה כדי לשפר את העמידות שלהם
אם אתם מריצים אפליקציה להצגת מודעות בזמינות גבוהה, שצריכה להמשיך לפעול גם במקרה של כשל ברמת האזור בלי לפגוע בביצועים, השתמשו בתבנית חלוקת היעד EVEN עם גודל קבוצה שהוקצו לה יותר מדי משאבים.
הקצאת יתר של מספר המכונות בקבוצה מגינה על עומס העבודה מפני כשל ברמת האזור.
בהתאם לעומס העבודה, כדאי לשקול ליצור התאמה לעומס (autoscaler) כדי להוסיף או להסיר מכונות מהקבוצה באופן אוטומטי כשהעומס עולה או יורד.
כדי לקבל מידע נוסף על צורת ההתפלגות של יעד EVEN, עיינו בהשוואה בין צורות של יעדים וקראו את המאמר איך פועלת צורת היעד EVEN.
בקטעים הבאים מוסבר איך לפרוס עומסי עבודה בזמינות גבוהה בקבוצות MIG אזוריות:
- אם אתם צריכים חומרה מיוחדת שזמינה רק באזורים ספציפיים, בחרו אזורים למכונות הווירטואליות שלכם.
- הקצאת הגודל הנכון של קבוצת מופעי מכונה מנוהלים.
- אם אתם רוצים למנוע מחיקה לא מכוונת של מכונות כשאתם מוחקים או נוטשים מכונות באופן ידני מקבוצה אזורית, השביתו את החלוקה מחדש של מכונות בין אזורים.
- הגדרת התאמה לעומס (autoscaling) לקבוצת MIG אזורית, שמנסה לשמור על איזון בין אזורים כשמשנים את גודל הקבוצה, ומרחיבה אופקית בהתאם לעומס (scale out) לאזורים זמינים במקרה של כשל ברמת האזור.
- הגדרת איזון עומסים, שמעביר את העומס לאזורים תקינים במקרה של כשל ברמת האזור. אם מוגדרת התאמה לעומס (autoscaling), איזון העומסים מוביל לעלייה במספר המכונות הווירטואליות באזורים שבהם העומס גדל.
- הגדרת קבוצת MIG אזורית עם שמירת מצב, שמאפשרת לשמור את המצב הייחודי של כל אחת מהמכונות בקבוצת ה-MIG, כולל שם המכונה הווירטואלית, Persistent Disks ומטא-נתונים, באירועים של הפעלה מחדש, יצירה מחדש, תיקון תוכנה אוטומטי או עדכון של המכונה.
איזון בין רכישת משאבים לבין חלוקה שווה
אם אתם מריצים עומס עבודה של הצגה או של אצווה בזמינות גבוהה, ואתם צריכים לאזן בין רכישת המשאבים לבין חלוקה שווה של מכונות וירטואליות בין אזורים נבחרים, השתמשו בצורת ההפצה המטורגטת BALANCED.
התבנית BALANCED מתעדפת את רכישת המשאבים – הקבוצה יוצרת מכונות באזורים שבהם יש משאבים זמינים – תוך הפצת המכונות באופן שווה ככל האפשר בין האזורים כדי למזער את ההשפעה של כשל ברמת האזור.
אם אתם מריצים עומס עבודה באצווה שלא צריך להגן עליו מפני כשל ברמת האזור, השתמשו במקום זאת בתבנית היעד ANY. הצורה ANY מתעדפת רכישת משאבים וגם שימוש במקומות שמורים אזוריים.
כשהצורה מוגדרת ל-BALANCED או ל-ANY, אתם לא צריכים לבדוק באופן ידני אם חומרה ספציפית זמינה באזור מסוים. אתם יכולים לבחור את כל האזורים במחוז, והקבוצה תפרוס באופן אוטומטי מכונות באזורים שבהם החומרה הנדרשת זמינה.
כדי לקבל מידע נוסף על צורת ההתפלגות של יעד BALANCED, אפשר לעיין בהשוואה בין צורות של יעדים ולקרוא איך פועלת צורת ההתפלגות של יעד BALANCED.
תנו עדיפות להשגת משאבים
אם אתם מריצים עומסי עבודה באצווה, וחשוב לכם יותר לקבל את מספר המכונות שביקשתם כדי לבצע את העיבוד מאשר עמידות עומס העבודה לכשלים ברמת האזור, השתמשו בתבנית חלוקת היעד ANY.
אם יש לכם הזמנות תואמות, הגדירו את צורת היעד ל-ANY כדי לתעדף את השימוש באזורים שמכילים את ההזמנות התואמות. במאמר שימוש במכונות ממקום שמור ספציפי מוסבר איך מגדירים מקומות שמורים בתבנית של הגדרות מכונה.
בדומה לצורת היעד BALANCED, הצורה ANY שימושית כשעומס העבודה באצווה דורש אחת מהתכונות הבאות:
- מכונות וירטואליות עם חומרה מיוחדת, כמו פלטפורמת מעבד (CPU) או דגם GPU ספציפיים. הקבוצה תפרוס מכונות בתחומים שתומכים בחומרה המבוקשת, בהתאם לזמינות המשאבים, ועם עדיפות לתחומים שיש בהם הזמנות תואמות.
- מכונות וירטואליות זמניות. לא תצטרכו לבדוק באילו אזורים יש קיבולת זמינה של מכונות שניתנות להפסקה לפני הזמן. הקבוצה תתפרס באופן אוטומטי באזורים עם קיבולת של מכונות שניתנות להפסקה לפני הזמן.
- מכונות וירטואליות עם מספר גדול של ליבות. הקבוצה תקבל מכונות גדולות אם הן זמינות, עם עדיפות לאזורים שיש בהם הזמנות תואמות.
אתם לא צריכים לבדוק ידנית אם חומרה ספציפית זמינה באזור מסוים. אתם יכולים לבחור את כל האזורים במחוז, והקבוצה תפרוס באופן אוטומטי מכונות באזורים שבהם החומרה הנדרשת זמינה.
אתם יכולים למחוק באופן סלקטיבי worker instances של משימות באצווה שהשלימו את החישובים, בלי להשפיע על worker instances אחרים. בניגוד לקבוצה עם צורת יעד EVEN וחלוקה מחדש יזומה, קבוצה עם צורת יעד ANY לא צריכה להגיע לאיזון שווה ולא תפעיל חלוקה מחדש.
כדי לקבל פרטים נוספים על צורת ההתפלגות של יעד ANY, אפשר לעיין בהשוואה בין צורות של יעדים ולקרוא איך פועלת צורת ההתפלגות של יעד ANY.
צמצום הרשתות בין מכונות וירטואליות
אם אתם מריצים עומס עבודה באצווה ורוצים למקם את כל המכונות הווירטואליות באזור אחד כדי לצמצם את זמן האחזור ברשת בין המכונות הווירטואליות ואת העלויות, ואם אין לכם דרישה לאזור ספציפי, הגדירו את צורת היעד של הקבוצה כ-ANY_SINGLE_ZONE. אפשר גם ליצור מדיניות מיקום קומפקטי ולהחיל אותה על קבוצת ה-MIG, כדי שהמכונות הווירטואליות בקבוצה יהיו קרובות יותר זו לזו ועל אותה תשתית רשת.
כשיוצרים קבוצת MIG עם מכונה וירטואלית אחת לפחות, ובכל פעם שצריך להרחיב אופקית קבוצת MIG בלי מכונות וירטואליות, התבנית ANY_SINGLE_ZONE בוחרת את האזור האופטימלי על סמך ההזמנות, המכסות ודרישות החומרה.
בדומה לתבניות היעד BALANCED ו-ANY, התבנית ANY_SINGLE_ZONE שימושית כשעומס העבודה באצווה דורש אחת מהתכונות הבאות:
- מכונות וירטואליות עם חומרה מיוחדת, כמו פלטפורמת מעבד (CPU) או דגם GPU ספציפיים. הקבוצה תפרוס מכונות בתחום שתומך בחומרה המבוקשת, בהתאם לזמינות המשאבים, עם עדיפות לתחום שיש בו מקומות שמורים תואמים.
- מכונות וירטואליות זמניות. לא תצטרכו לבדוק באילו אזורים יש קיבולת זמינה של מכונות שניתנות להפסקה לפני הזמן. הקבוצה תתפרס באופן אוטומטי באזור עם קיבולת של מכונות שניתנות להפסקה לפני הזמן.
- מכונות וירטואליות עם מספר גדול של ליבות. הקבוצה תקבל מכונות גדולות באזורים שבהם הן זמינות, עם עדיפות לאזור שבו יש הזמנות תואמות.
אתם לא צריכים לבדוק ידנית אם חומרה ספציפית זמינה באזור מסוים. כשיוצרים את ה-MIG, בוחרים את כל האזורים במחוז, והקבוצה פורסת באופן אוטומטי מכונות באזור שבו החומרה הנדרשת זמינה.
כדי לקבל פרטים נוספים על התפלגות היעד ANY_SINGLE_ZONE, אפשר לעיין בהשוואה בין צורות היעד ולקרוא איך פועלת צורת התפלגות היעד ANY_SINGLE_ZONE.
אם יש לכם דרישות ספציפיות לאזורים ואתם לא רוצים שה-MIG יעבור בין אזורים בשום מצב, השתמשו ב-MIG אזורי.
איך זה עובד
בקטע הזה מוסבר איך כל צורת התפלגות של יעד פועלת במצבים הבאים:
- כשמשנים את הגודל של ה-MIG
- אם המשאבים לא זמינים באופן זמני באזור מסוים
- במקרה של כשל באזור
צורת ההתפלגות של EVEN
כשהצורה של התפלגות היעד מוגדרת ל-EVEN וההפצה הפרואקטיבית מופעלת, מספר המכונות המנוהלות ב-MIG אזורי לא שונה ביותר מ-1 בין שני אזורים, בלי קשר לזמינות המשאבים. אבל יכול להיות שמכונה מנוהלת לא תהיה פעילה אם באזור שלה אין את המשאבים להקצאת VM בפועל. אם היצירה הראשונית של מכונה נכשלת, קבוצת ה-MIG מנסה שוב ושוב ליצור את המכונה באותו אזור.
שינוי הגודל של MIG עם צורת הפצה EVEN
בקבוצה עם צורת יעד EVEN, המערכת בוחרת אזורים להוספה או למחיקה של מכונות באופן ששומר על איזון שווה של מכונות מנוהלות בין האזורים, או מתכנס לאיזון כזה.
לדוגמה, בתרשים הבא אפשר לראות איך קבוצה מוסיפה ומסירה מכונות מנוהלות.
EVENההשפעה של משאבים שלא זמינים באופן זמני
יכול להיות שמשאבים לא יהיו זמינים באופן זמני באזור מסוים כשיוצרים את הקבוצה או כשמגדילים את מספר המכונות. לדוגמה, אם תבקשו מכונות וירטואליות זמניות או חומרה מיוחדת עם היצע מוגבל, יכול להיות שהמשאבים האלה לא יהיו זמינים בזמן הבקשה.
כדי לשמור על חלוקה שווה של מכונות בין אזורים, הקבוצה ממשיכה לנסות ליצור מכונות וירטואליות באזורים שבהם המשאבים לא זמינים באופן זמני. בסופו של דבר, הקבוצה תכלול את המספר המלא של מכונות VM פועלות אחרי שהמשאבים יהיו זמינים.
לדוגמה, בתרשים הבא מוצג מה שקורה בקבוצת MIG אם אחד מהאזורים לא יכול למלא את הבקשה בגלל חוסר זמינות זמני של משאבים.
EVENעם זאת, אם הגדרתם התאמה אוטומטית לעומס (autoscaling) ב-MIG, המערכת תיצור מכונות באזורים שבהם יש קיבולת זמינה. כתוצאה מכך, יכול להיות שהמכונות הווירטואליות לא יתחלקו באופן שווה בין האזורים. ההתנהגות הזו דומה לזו של קבוצות MIG עם צורת ההתפלגות BALANCED.
ההשפעה של כשל ברמת האזור
אם אתם משתמשים בצורת התפלגות היעד EVEN (או BALANCED), אתם יכולים להקצות מכונות נוספות כדי למזער את ההשפעה של כשל ברמת האזור.
במקרה של כשל ברמת האזור, קבוצת MIG אזורית שנפרסה ב-3 אזורים עם צורת הפצה מטורגטת של EVEN (או BALANCED) עלולה לאבד שליש מהמכונות שלה. כדי לוודא שיש מספיק קיבולת לשרת את העומס במקרה של כשל ברמת האזור, אתם יכולים להקצות יותר מכונות וירטואליות, כך ש-2/3 מהן נדרשות לעומס.
לדוגמה, אם אתם צריכים 8 מכונות כדי לעבד בקשות ב-3 אזורים, ואתם רוצים להגן על עומס העבודה מפני כשל ברמת האזור, כדאי ליצור קבוצה אזורית עם 12 מכונות. בתרשים הבא מוצג מה שקורה אם אזור אחד נכשל.
EVENבמקרים כאלה, צורת ההתפלגות של היעד EVEN מתאימה מאוד להתאמה לעומס (autoscaling) ולאיזון עומסים. במקרה של כשל ברמת האזור, מאזן העומסים מתחיל לשלוח תנועה למכונות בשני האזורים שנותרו כדי להתאים את התנועה מהאזור שנכשל. כשמשתמשים בהתאמה אוטומטית לעומס, קבוצת ה-MIG מנסה להגן על עומס העבודה על ידי יצירת מכונות באזורים שבהם יש קיבולת זמינה. זה עלול לגרום לפיזור לא אחיד של המכונות בין האזורים.
למידע נוסף על אופן הפעולה של קבוצת MIG אזורית עם התאמה לעומס, ראו התאמה לעומס של קבוצת MIG אזורית.
צורת ההתפלגות של BALANCED
יכול להיות שקבוצת MIG אזורית עם תצורת יעד BALANCED לא תשיג חלוקה שווה בין אזורים, במיוחד כשהמשאבים המבוקשים לא זמינים באזור מסוים.
קבוצת המכונות המנוהלת (MIG) נותנת עדיפות להקצאת מספר המכונות הווירטואליות המבוקש על ידי יצירת מכונות וירטואליות בתחומים שבהם יש משאבים זמינים. אם היצירה הראשונית של VM נכשלת, קבוצת ה-MIG מנסה באופן אוטומטי ליצור את ה-VM באזורים האחרים שנבחרו, שבהם יש קיבולת זמינה. כשהמשאבים זמינים, ההפצה דומה ל-EVEN. במקרה הגרוע ביותר של אילוצי משאבים, ההתפלגות יכולה להיות בכל צורה.
שינוי הגודל של קבוצת MIG עם צורת הפצה BALANCED
הגדלת הקבוצה
אם בוחרים בצורת היעד BALANCED, הקבוצה בוחרת אזורים ליצירת מכונות חדשות על סמך הזמינות הנוכחית של המשאבים שציינתם בתבנית של הגדרות המכונה של קבוצת המכונות המנוהלת.
- כשיש מספיק משאבים זמינים בכל האזורים שנבחרו, הקבוצה שומרת על חלוקה שווה בין האזורים כשהגודל גדל, באותו אופן כמו צורת היעד
EVEN. - אם מגבלות הקיבולת של התחום לא מאפשרות חלוקה שווה, הקבוצה יוצרת מכונות בתחומים שבהם יש משאבים זמינים, תוך ניסיון למקסם את האיזון.
לדוגמה, יכול להיות שתבחינו במגבלות קיבולת ובהפצה לא אחידה אם תבקשו פלטפורמת מעבד (CPU) מיוחדת, מודל GPU או מכונות וירטואליות זמניות שלא זמינות באופן אחיד בכל האזורים.
BALANCEDהקטנת גודל הקבוצה
כשמקטינים את הגודל של קבוצת MIG אזורית עם צורת יעד BALANCED, המכונות מוסרות לפי הסדר הבא כדי להגביל את ההפרעה לעומס העבודה:
- מכונות שלא פועלות, כלומר מכונות שלא ניתן ליצור מסיבה כלשהי, או שהן בתהליך יצירה או תיקון אוטומטי.
- מכונות וירטואליות באזורים שבהם יש לקבוצה יותר מכונות וירטואליות, כדי להגיע למצב של פיזור שווה.
ההשפעה של משאבים שלא זמינים באופן זמני או של כשל באזור
עם צורת הפצה של BALANCED, הקבוצה פורסת מכונות באזורים שבהם יש קיבולת זמינה. במקרים של מגבלות קיבולת זמניות באזורים, יכול להיות שהמכונות יתחלקו בין האזורים בצורה לא שווה.
אם במצב כזה אזור עם המספר הגדול ביותר של מכונות וירטואליות נכשל, עומס העבודה עלול לאבד חלק משמעותי מיכולת ההצגה. אם באזורים התקינים יש מגבלות קיבולת זמניות, הקבוצה מנסה ליצור מחדש את המכונות שנכשלו במיקום המקורי (אזור שנכשל) והניסיון הזה עלול להיכשל.
כדי להגן על עומס העבודה מפני מקרה קיצוני כזה:
- הקצאת יתר של גודל ה-MIG האזורי, כדי שלעומס העבודה תהיה קיבולת מספיקה במקרה של כשל באזור.
- שמרו כמות מספקת של משאבים בכל אזור כדי לכסות את עומס השיא, להקצות משאבים עודפים ולשמור על חלוקה שווה בין האזורים. הטקטיקה הזו עוזרת לוודא שתוכלו לקבל חלוקה שווה של מכונות בין אזורים, וכך למזער את אובדן הקיבולת במקרה של כשל באזור.
התרשים הבא מראה איך יכול להתפתח תרחיש של אילוצי קיבולת זמניים באזור, ואחריו כשל באזור.
BALANCEDאם אי אפשר למלא את הבקשה באף אזור, הקבוצה מתזמנת את יצירת ה-VM באזורים עם משאבים שלא זמינים באופן זמני. הקבוצה ממשיכה לנסות ליצור את המכונות המתוזמנות באזורים שבהם היצירה שלהן תוכננה במקור. אם המשאבים יהיו זמינים באזורים אחרים לפני שהם יהיו זמינים באזור המקורי שבו תזמנתם את ה-VM, הקבוצה לא תנסה ליצור את ה-VM באזורים האחרים. כדי לתזמן באופן ידני מכונות חדשות באזורים עם קיבולת זמינה, צריך למחוק את המכונות המנוהלות שלא נוצרו ולשנות את גודל הקבוצה לגודל היעד שלה.
אם יצירת ה-VM נכשלה, אתם יכולים להציג את רשימת המכונות המנוהלות כדי לבדוק את הודעת השגיאה במכונה הווירטואלית המנוהלת המתאימה, או להציג את רשימת השגיאות האחרונות.
במקרה של כשל באזור, צורת התפלגות היעד BALANCED פועלת היטב עם התאמה אוטומטית לעומס ואיזון עומסים. כדי להתמודד עם תעבורת הנתונים מהאזור שנכשל, מאזן העומסים שולח את תעבורת הנתונים למכונות באזורים שנותרו. מנגנון התאמה לעומס (autoscaler) מגיב לניצול המוגבר באזורים ויוצר באופן אוטומטי קיבולת באזורים תקינים. מידע נוסף זמין במאמר התאמה אוטומטית לעומס (autoscaling) של קבוצת MIG אזורית.
צורת ההתפלגות של ANY
כשצורת התפלגות היעד מוגדרת ל-ANY, קבוצת MIG אזורית נותנת עדיפות לרכישת משאבים על ידי יצירת מכונות מנוהלות באזורים שבהם המשאבים זמינים. כלומר, יכול להיות שכל המכונות ייווצרו באזור אחד, או יתחלקו באופן שווה בין כל האזורים, או כל מצב אחר בין שני התרחישים האלה. אם היצירה הראשונית של מכונה נכשלת, קבוצת ה-MIG מנסה באופן אוטומטי ליצור את המכונה באזורים האחרים שנבחרו שבהם יש קיבולת זמינה.
שינוי הגודל של MIG עם צורת הפצה ANY
הגדלת הקבוצה
כשמגדילים את הקבוצה, היא בוחרת כל אזור שיש בו קיבולת זמינה.
אם יש לכם הזמנות תואמות באזור אחד או יותר, הקבוצה נותנת עדיפות לניצול של ההזמנות האלה. עם זאת, אם מקטינים את גודל הקבוצה, יכול להיות שיעברו כמה דקות עד שהזמנה שנוצלה תהיה זמינה שוב לניצול. במהלך התקופה הזו, שבה המקומות השמורים שנוצלו בעבר עדיין לא זמינים, אם תגדילו את הקבוצה ולא יהיו מקומות שמורים תואמים, הקבוצה תיצור מכונות וירטואליות באזור שבו יש משאבים זמינים.
הקטנת גודל הקבוצה
כשמקטינים את גודל הקבוצה, המכונות הווירטואליות נמחקות מהקבוצה בסדר הבא:
- מכונות וירטואליות שלא פועלות מכל סיבה שהיא
- מכונות וירטואליות שעדיין לא עודכנו לגרסה הרצויה
- מכונות וירטואליות שנבחרו באופן לא דטרמיניסטי
אם אתם צריכים להקטין את הקבוצה באזורים ספציפיים או להסיר מכונות וירטואליות ספציפיות, למשל מכונות שסיימו את העבודה שלהן, אתם יכולים למחוק מכונות ספציפיות מהקבוצה.
ההשפעה של משאבים שלא זמינים באופן זמני
אם צורת חלוקת היעד מוגדרת לערך ANY, הקבוצה מתזמנת את יצירת המכונות הווירטואליות באזורים שבהם המשאבים המבוקשים זמינים, ונמנעת מאזורים שבהם המשאבים לא זמינים באופן זמני.
אם אי אפשר למלא את הבקשה באף אזור, הקבוצה מתזמנת את יצירת ה-VM באזורים עם משאבים שלא זמינים באופן זמני. הקבוצה תמשיך לנסות ליצור את המכונות המתוזמנות באזורים שבהם היצירה שלהן תוכננה במקור. אם המשאבים יהיו זמינים באזורים אחרים לפני שהם יהיו זמינים באזור המקורי שבו תזמנתם את ה-VM, הקבוצה לא תנסה ליצור את ה-VM באזורים האחרים. כדי לתזמן באופן ידני מכונות חדשות באזורים עם קיבולת זמינה, אפשר למחוק את המכונות המנוהלות שלא פועלות ולשנות את גודל הקבוצה לגודל היעד שלה.
אם יצירת ה-VM נכשלה, אפשר להציג את רשימת המכונות המנוהלות כדי לבדוק את הודעת השגיאה במכונה הווירטואלית המתאימה, או להציג את רשימת השגיאות האחרונות.
לדוגמה, בתרשים הבא מוצג איך קבוצה אזורית מתזמנת מכונות כשאזור לא יכול למלא את הבקשה.
ANYההשפעה של כשל ברמת האזור
אם צורת התפלגות היעד מוגדרת ל-ANY, יכול להיות שרוב המכונות של הקבוצה או כולן יתפרסו באזור אחד. אם יש תקלה באזור הזה, יכול להיות שרוב המכונות בקבוצה או כולן לא יהיו זמינות עד שהתקלה תתוקן.
אם יש כשל ברמת האזור או שהמשאבים לא זמינים באופן זמני, או אם מסיבה כלשהי המכונות הווירטואליות לא פועלות, אתם יכולים למחוק את המכונות הספציפיות שלא פועלות ואז לשנות את גודל הקבוצה בחזרה לגודל הנדרש, כדי לנסות להשיג מכונות חלופיות באזורים עם קיבולת זמינה.
ANY, במקרה של משאבים שלא זמינים באופן זמניצורת ההתפלגות של ANY_SINGLE_ZONE
כשיוצרים את המכונה הווירטואלית הראשונה בקבוצה, קבוצת MIG אזורית עם צורת התפלגות היעד ANY_SINGLE_ZONE בוחרת באופן אוטומטי את האזור האופטימלי. אחרי שנוצרת המכונה הווירטואלית הראשונה, כל שאר המכונות הווירטואליות נוצרות באותו אזור. אם היצירה הראשונית של מכונה וירטואלית נכשלת, קבוצת המכונות המנוהלת מנסה שוב ושוב ליצור את המכונה הווירטואלית באותו אזור.
ה-MIG יכול לבחור אזור אחר רק כשהוא מוקטן לאפס מכונות וירטואליות, והוא מתחיל ליצור שוב את המכונה הווירטואלית הראשונה שלו.
בחירת האזור האופטימלי
אם רק אחד מהאזורים שנבחרו תומך בדרישות החומרה של הקבוצה, Compute Engine בוחר באזור הזה.
אם כמה אזורים נבחרים תומכים בדרישות החומרה של הקבוצה, Compute Engine בוחר אזור שיש בו מספיק משאבים זמינים לכל המכונות הווירטואליות של ה-MIG האזורי, עם העדפה לאזור עם הכי הרבה הזמנות תואמות.
אם באף אחד מהאזורים שנבחרו אין מספיק משאבים זמינים או מקומות שמורים תואמים לכל המכונות הווירטואליות, כדי ליצור כמה שיותר מכונות וירטואליות, המערכת של Compute Engine בוחרת את האזור עם הכי הרבה משאבים זמינים ומקומות שמורים תואמים, עם עדיפות לאזור עם הכי הרבה מקומות שמורים תואמים. הקבוצה ממשיכה לנסות ליצור את שאר המכונות הווירטואליות באותו אזור, גם אם המשאבים יהיו זמינים מוקדם יותר באזור אחר.
שינוי הגודל של MIG עם צורת הפצה ANY_SINGLE_ZONE
הגדלת הקבוצה
אם בקבוצת ה-MIG כבר יש מכונות וירטואליות וצורת ההפצה שלה מוגדרת ל-ANY_SINGLE_ZONE, בכל פעולות ההרחבה האופקית בהתאם לעומס (scale out) קבוצת ה-MIG ממקמת מכונות וירטואליות חדשות באותו אזור שבו נמצאות המכונות הווירטואליות הקיימות. אם אין מספיק משאבים או מקומות שמורים לכל המכונות הווירטואליות הנוספות, ה-MIG יוצר כמה שיותר מכונות וירטואליות.
אם אין מכונות וירטואליות ב-MIG, אז כשמרחיבים אותה אופקית, המערכת בוחרת את האזור האופטימלי שתומך בדרישות החומרה של הקבוצה ומשתמש בהזמנות תואמות.
הקטנת גודל הקבוצה
כשמצמצמים את קבוצת המכונות, קבוצת MIG אזורית עם צורת ההפצה ANY_SINGLE_ZONE מסירה מכונות וירטואליות בסדר הבא:
- כדי לצמצם את ההפרעה לעומס העבודה, קודם כל יוסרו מכונות וירטואליות שלא נמצאות במצב
RUNNING. מכונה וירטואלית שלא פועלת היא מכונה וירטואלית שלא ניתן ליצור מכל סיבה שהיא, או שהיא נמצאת בתהליך יצירה או תיקון. - מכונות וירטואליות שלא משתמשות בהגדרות האישיות האחרונות של הקבוצה.
- מכונות וירטואליות שנבחרו באופן לא דטרמיניסטי
ההשפעה של משאבים שלא זמינים באופן זמני
קבוצת MIG אזורית שצורת חלוקת היעד שלה מוגדרת ל-ANY_SINGLE_ZONE עלולה לסבול ממחסור במשאבים באזור שנבחר.
אם משאבים הופכים ללא זמינים באופן זמני באזור שנבחר לקבוצת ה-MIG, קבוצת ה-MIG לא עוברת לאזורים אחרים באופן אוטומטי. המשמעות היא שתהליכי ההרחבה האופקית (scale out) והעדכון עלולים להשתבש עד שיהיו מספיק משאבים זמינים.
ההשפעה של כשל ברמת האזור
קבוצת MIG אזורית שצורת ההפצה שלה מוגדרת ל-ANY_SINGLE_ZONE עלולה להיות מושפעת מתקלות באזור.
במקרה הלא סביר של כשל בתחום שמארח את המכונות הווירטואליות של קבוצת ה-MIG האזורית, יכול להיות שכל המכונות הווירטואליות של קבוצת ה-MIG לא יוכלו לעבד את עומס העבודה.
מעקב אחרי צורות ההתפלגות של היעדים והאיזון בין האזורים
כדי לראות איך צורת התפלגות היעד (EVEN, BALANCED, ANY או ANY_SINGLE_ZONE) משפיעה על הקצאת המכונות בזמן אמת בין אזורים לאורך זמן, אתם יכולים להציג את התפלגות המכונות של קבוצת MIG ספציפית או נתונים נצברים של כמה קבוצות MIG.
המידע הזה עוזר לכם לוודא שההפצה של המכונות פועלת כמו שצריך, לעקוב אחרי שינויים בקיבולת או הפסקות זמניות בשירות, ולזהות שינויים פוטנציאליים כדי לשפר את התשתית. הוראות מפורטות מופיעות במאמר מעקב אחרי הפצת מכונות ב-MIG.
המאמרים הבאים
- במאמר הגדרת מדיניות להפצת מכונות וירטואליות בין אזורים מוסבר איך להגדיר את צורת היעד ב-MIG.
- מעקב אחרי התפלגות המכונות בקבוצות MIG.
- מידע נוסף על קבוצות MIG אזוריות
- מידע על מקומות שמורים למשאבים של תחום מוגדר ב-Compute Engine