במאמר הזה מתואר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) ששומרת את הנתונים בדיסקים עם שם מכשיר נתון לכל המכונות הווירטואליות של ה-MIG, גם במקרה של יצירה מחדש של מכונה וירטואלית – למשל, כשמכונה וירטואלית ב-MIG עוברת תיקון אוטומטי, עדכון או יצירה מחדש. שמירת דיסקים שימושית לעומסי עבודה מסוימים – למשל, למסדי נתונים או לאפליקציות מדור קודם.
בנוסף לשמירת הדיסקים של כל המכונות הווירטואליות בקבוצה, אפשר גם להגדיר קבוצת MIG עם שמירת מצב לשימושים הבאים:
- אפשר להוסיף ולשמור דיסקים ספציפיים למופע.
- אפשר להוסיף ולשמור מטא-נתונים ספציפיים למופע.
- אפשר להוסיף ולשמור כתובות IP.
מידע נוסף זמין במאמר סקירה כללית על קבוצות מנוהלות של מופעים עם שמירת מצב.
אפשר גם לקרוא על תרחישים בסיסיים אחרים ליצירת MIG.
לפני שמתחילים
- יצירת תבנית של הגדרות מכונה, שנדרשת כדי ליצור קבוצה של מופעי מכונה מנוהלים.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
מגבלות
קבוצת MIG עם הגדרות ששומרות את מצב המכונה – קבוצת MIG עם שמירת מצב – כפופה למגבלות הבאות:
- אי אפשר להשתמש בהתאמה אוטומטית לעומס אם ל-MIG יש הגדרה עם שמירת מצב.
- אם רוצים להשתמש בעדכונים אוטומטיים מדורגים, צריך להגדיר את שיטת ההחלפה ל-
RECREATE. - ב-MIG אזורי עם שמירת מצב, צריך להשבית את ההפצה מחדש הפרואקטיבית (להגדיר את סוג ההפצה מחדש ל-
NONE) כדי למנוע מחיקה של מופעים עם שמירת מצב על ידי הפצה מחדש אוטומטית בין אזורים. - אם אתם משתמשים בהגדרה לכל המכונות כדי לשנות מאפיינים של תבנית הגדרות מכונה, אתם לא יכולים לציין את המאפיינים האלה בהגדרה של מכונה ספציפית ובאותו הזמן בהגדרה לכל המכונות של הקבוצה.
כדי לראות את הרשימה המלאה של מגבלות MIG, שמשתנה בהתאם להגדרה שבה אתם משתמשים, אפשר לעיין במאמר מגבלות MIG.
יצירת קבוצת MIG עם דיסקים עם שמירת מצב
משתמשים ב- Cloud de Confiance console, ב-ה-CLI של gcloud, ב-Terraform או ב-REST.
המסוף
-
עוברים לדף Instance groups.
שאר השלבים יופיעו במסוף Cloud de Confiance .
-
לוחצים על
יצירת קבוצת מופעים . -
בוחרים באפשרות
קבוצת מופעי מכונה מנוהלים חדשה (עם שמירת מצב) . - נותנים שם לקבוצת המופעים, ואפשר גם להוסיף תיאור.
- בוחרים תבנית של הגדרות מכונה לקבוצת המכונות או יוצרים תבנית חדשה.
- בשדה
Number of instances (מספר המכונות), מציינים את המספר הראשוני של המכונות הווירטואליות שצריך בקבוצה הזו. - בקטע
Stateful configuration (הגדרות עם שמירת מצב), בקטע Group config (הגדרות קבוצה), לוחצים על הדיסק שרוצים להגדיר עם שמירת מצב, ואז מבצעים את השלבים הבאים. - בקטע Stateful, בוחרים באפשרות Yes.
- ברשימה On permanent instance deletion, בוחרים אם רוצים לנתק את הדיסק או למחוק אותו כשמוחקים את מכונת ה-VM באופן סופי.
- כדי לשמור את ההגדרות, לוחצים על סיום.
- כדי ליצור את קבוצת ה-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
אם עדיין לא יצרתם תבנית של הגדרות מכונה שמציינת את סוג המכונה, את תמונת דיסק האתחול, את הרשת ומאפיינים אחרים של ה-VM שאתם רוצים לכל VM ב-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) שהוסרו. כדי להימנע מעלויות של נפח אחסון בדיסק אחרי ניתוק הדיסק, צריך למחוק אותו. מידע נוסף מפורט במאמר בנושא תמחור דיסקים.