במאמר הזה מוסבר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) ששומרת את הנתונים בדיסקים עם שם מכשיר נתון לכל מכונות ה-VM של ה-MIG, גם במקרה של יצירה מחדש של מכונת VM – למשל, כשמכונת VM ב-MIG עוברת תיקון תוכנה אוטומטי (autohealing), עדכון או יצירה מחדש. שמירת דיסקים שימושית לעומסי עבודה מסוימים – למשל, למסדי נתונים או לאפליקציות מדור קודם.
בנוסף לשמירת הדיסקים של כל המכונות הווירטואליות בקבוצה, אפשר גם להגדיר קבוצת MIG עם שמירת מצב לשימושים הבאים:
- אפשר להוסיף ולשמור דיסקים ספציפיים למופע.
- אפשר להוסיף ולשמור מטא-נתונים ספציפיים למופע.
- אפשר להוסיף ולשמור כתובות IP.
מידע נוסף זמין במאמר סקירה כללית על קבוצות מנוהלות של מופעים עם שמירת מצב.
אפשר גם לקרוא על תרחישים בסיסיים אחרים ליצירת MIG.
לפני שמתחילים
- יצירת תבנית של הגדרות מכונה, שנדרשת כדי ליצור קבוצה של מופעי מכונה מנוהלים.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
מגבלות
ל-MIG עם הגדרה עם שמירת מצב – MIG עם שמירת מצב – יש את המגבלות הבאות:
- אי אפשר להשתמש בהתאמת קנה מידה אוטומטית אם ל-MIG יש הגדרה עם שמירת מצב.
- אם רוצים להשתמש בעדכונים אוטומטיים מדורגים, צריך להגדיר את שיטת ההחלפה ל-
RECREATE. - ב-MIG אזורי עם שמירת מצב, צריך להשבית את ההפצה מחדש הפרואקטיבית (להגדיר את סוג ההפצה מחדש ל-
NONE) כדי למנוע מחיקה של מופעים עם שמירת מצב על ידי הפצה מחדש אוטומטית בין אזורים. - אם משתמשים בהגדרה לכל המכונות כדי לשנות מאפיינים של תבנית הגדרות מכונה, אי אפשר לציין את המאפיינים האלה בהגדרה של מכונה ספציפית ובמקביל בהגדרה לכל המכונות בקבוצה.
כדי לראות את הרשימה המלאה של המגבלות על MIG, שמשתנה בהתאם להגדרה שבה אתם משתמשים, אפשר לעיין במאמר מגבלות על MIG.
יצירת קבוצת MIG עם דיסקים עם שמירת מצב
משתמשים ב- Google Cloud console, ב-ה-CLI של gcloud, ב-Terraform או ב-REST.
המסוף
-
עוברים לדף Instance groups.
שאר השלבים יופיעו במסוף Google Cloud .
-
לוחצים על
יצירת קבוצת מופעים . -
בוחרים באפשרות
קבוצת מופעי מכונה מנוהלים חדשה (עם שמירת מצב) . - נותנים שם לקבוצת המופעים, ואפשר גם להוסיף תיאור.
- בוחרים תבנית של הגדרות מכונה לקבוצת המכונות או יוצרים תבנית חדשה.
- בשדה
Number of instances (מספר המכונות), מציינים את המספר הראשוני של המכונות הווירטואליות שצריך בקבוצה הזו. - בקטע
Stateful configuration , בקטע Group config, לוחצים על הדיסק שרוצים להפוך לדיסק עם שמירת מצב, ואז מבצעים את השלבים הבאים. - בקטע Stateful, בוחרים באפשרות Yes.
- ברשימה On permanent instance deletion בוחרים אם רוצים לנתק את הדיסק או למחוק אותו כשמוחקים את המכונה הווירטואלית באופן סופי.
- כדי לשמור את ההגדרות, לוחצים על סיום.
- כדי ליצור את קבוצת ה-MIG, לוחצים על
Create (יצירה).
gcloud
כדי לציין אילו דיסקים מתבנית של הגדרות מכונה צריכים להיות עם שמירת מצב כשיוצרים MIG, משתמשים בדגל --stateful-disk עם הפקודה gcloud compute instance-groups managed create:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
--template INSTANCE_TEMPLATE_URL \
--size SIZE \
--stateful-disk device-name=DEVICE_NAME[,auto-delete=DELETE_RULE]
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_GROUP_NAME: השם של קבוצת המופעים המנוהלת שרוצים ליצור. -
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:- לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - לתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_ID
- לתבנית של הגדרות מכונה אזורית:
-
SIZE: המספר הראשוני של מכונות וירטואליות שאתם צריכים בקבוצה הזו. -
DEVICE_NAME: שם המכשיר של דיסק שצוין בתבנית של הגדרות המכונה.
DELETE_RULE: ערך שמגדיר מה צריך לקרות לדיסק עם שמירת מצב כשמוחקים מכונה וירטואלית. האפשרויות הזמינות הן:-
never: (ברירת מחדל). לא מוחקים את הדיסק, אלא מנתקים אותו כשהמכונה הווירטואלית שלו נמחקת. -
on-permanent-instance-deletion: מחיקת הדיסק כשמופע מכונת ה-VM שלו נמחק לצמיתות מקבוצת המכונות, למשל כשמוחקות את המכונה המנוהלת באופן ידני או כשמקטינים את גודל הקבוצה.
ללא קשר לערך של כלל המחיקה, דיסקים עם שמירת מצב תמיד נשמרים בפעולות של תיקון תוכנה אוטומטי, עדכון ויצירה מחדש של מכונות וירטואליות.
-
Terraform
אם עדיין לא יצרתם תבנית של הגדרות מכונה, שמציינת את סוג המכונה, את תמונת דיסק האתחול, את הרשת ומאפיינים אחרים של המכונה הווירטואלית שאתם רוצים לכל מכונה וירטואלית ב-MIG, אתם צריכים ליצור תבנית של הגדרות מכונה.
כדי לציין אילו דיסקים מתבנית של הגדרות מכונה צריכים להיות עם שמירת מצב כשיוצרים MIG, צריך לכלול את הבלוק stateful_disk. בדוגמה הבאה נוצרת קבוצת MIG אזורית עם דיסקים עם שמירת מצב. מידע נוסף על המשאב שבו נעשה שימוש בדוגמה זמין במאמר google_compute_instance_group_manager
resource.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
REST
כדי לציין אילו דיסקים מתבנית של הגדרות מכונה צריכים להיות עם שמירת מצב כשיוצרים MIG, צריך לכלול אותם בשדה statefulPolicy בגוף הבקשה.
כדי להשתמש ב-MIG אזורי, משתמשים בשיטה instanceGroupManagers.insert, וכדי להשתמש ב-MIG אזורי, משתמשים בשיטה regionInstanceGroupManagers.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers
{
"name": "NAME",
"versions": [
{
"instanceTemplate": "INSTANCE_TEMPLATE_URL"
}
],
"targetSize": SIZE,
"statefulPolicy": {
"preservedState": {
"disks": {
"DEVICE_NAME": {"autoDelete": "DELETE_RULE" },
"DEVICE_NAME": {"autoDelete": "DELETE_RULE" }
}
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה הפרויקט של הבקשה. -
ZONE: האזור שבו נמצאת קבוצת המופעים המנוהלים (MIG) (רלוונטי לקבוצת מופעים מנוהלים אזורית).- ל-MIG אזורי, מחליפים את
zones/ZONEב-regions/REGIONומציינים את האזור של ה-MIG.
- ל-MIG אזורי, מחליפים את
NAME: השם של קבוצת ה-MIG שרוצים ליצור.-
INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:- לתבנית של הגדרות מכונה אזורית:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - לתבנית גלובלית של הגדרות מכונה:
INSTANCE_TEMPLATE_ID
- לתבנית של הגדרות מכונה אזורית:
-
SIZE: המספר הראשוני של המופעים שאתם צריכים בקבוצה הזו. -
DEVICE_NAME: שם המכשיר של דיסק שצוין בתבנית של הגדרות המכונה.
DELETE_RULE: ערך שמגדיר מה צריך לקרות לדיסק עם שמירת מצב כשהמופע של המכונה הווירטואלית נמחק. האפשרויות הזמינות הן:-
never: (ברירת מחדל). הדיסק לא יימחק, אלא ינותק כשהמכונה הווירטואלית תימחק. -
on_permanent_instance_deletion: מחיקת הדיסק עם שמירת הנתונים כשמכונת ה-VM שלו נמחקת לצמיתות מקבוצת המכונות, למשל כשמוחקים את המכונה המנוהלת באופן ידני או כשמקטינים את גודל הקבוצה.
ללא קשר לערך של כלל המחיקה, דיסקים עם שמירת מצב נשמרים תמיד בפעולות של תיקון אוטומטי, עדכון ויצירה מחדש של מופעים.
-
חיוב
Compute Engine לא מוחק באופן אוטומטי דיסקים לאחסון מתמיד עם שמירת מצב שניתקתם מ-MIG. עדיין נחייב אתכם על הנפח שהוקצה לדיסקים לאחסון מתמיד (persistent disk) שהוסרו. כדי להימנע מחיובים על נפח האחסון בדיסק אחרי שמנתקים אותו, צריך למחוק את הדיסק. מידע נוסף זמין במאמר בנושא תמחור דיסקים.
המאמרים הבאים
- מידע נוסף על קבוצות של מכונות וירטואליות עם שמירת מצב ומתי כדאי להשתמש בהן
- מידע נוסף על הגדרת דיסקים עם שמירת מצב ב-MIG
- איך פועלות קבוצות של מכונות וירטואליות עם שמירת מצב
- מידע נוסף על הגדרת קבוצות של מכונות וירטואליות עם שמירת מצב עבור דיסקים, מטא-נתונים וכתובות IP