אחרי יצירה או עדכון של הגדרה עם שמירת מצב עבור קבוצת מופעי מכונה מנוהלים (MIG) עם שמירת מצב, אפשר:
- מחילים את ההגדרה עם שמירת מצב כדי שהיא תיכנס לתוקף.
- הצגת התצורה עם שמירת מצב וגם את המצב השמור האפקטיבי של המופעים המנוהלים.
- מסירים את ההגדרה עם שמירת מצב.
לפני שמתחילים
- כדאי לעיין במאמרים מתי כדאי להשתמש בקבוצות MIG עם שמירת מצב ואיך קבוצות MIG עם שמירת מצב פועלות.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים Cloud de Confiance by S3NS ולממשקי ה-API, לא צריך להגדיר אימות.
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 .
החלת הגדרה עם שמירת מצב על מופעים מנוהלים
ההגדרה עם שמירת מצב נכנסת לתוקף אחרי שאתם או קבוצת ה-MIG מחילים אותה.
- שינויים בהגדרות של מדיניות עם שמירת מצב מוחלים אוטומטית על כל המופעים המנוהלים.
- אפשר להחיל שינויים בהגדרות של כל מופע בנפרד באופן ידני או אוטומטי.
מידע נוסף על המושג הזה זמין במאמר איך הגדרות עם שמירת מצב מוחלות על מכונות מנוהלות.
הפעלת הגדרות ממדיניות עם שמירת מצב
כל שינוי בהגדרות של מדיניות עם שמירת מצב מוחל אוטומטית על כל המופעים המנוהלים. עדכונים במדיניות עם שמירת מצב לא משבשים את הפעולה של מכונות וירטואליות (VM) שפועלות.
איך בודקים אם מדיניות עם שמירת מצב הופעלה
אימות כל מכונות ה-VM
כדי לוודא שהשינויים במדיניות עם שמירת מצב הופעלו בכל מכונות ה-VM, בודקים אם קבוצת ה-MIG הפכה ליציבה אחרי השינויים.
אימות של מכונות וירטואליות ספציפיות
כדי לוודא שהשינויים במדיניות עם שמירת מצב הופעלו במכונה וירטואלית ספציפית ב-MIG, צריך לבדוק את המצב שנשמר של המופע המנוהל ולוודא שכל הדיסקים ממדיניות שמירת המצב מופיעים ב-preservedStateFromPolicy או ב-preservedStateFromConfig של המופע המנוהל.
החלת הגדרה עם שמירת מצב מהגדרות לכל מופע
אפשר להחיל הגדרות חדשות או מעודכנות לכל מופע באופן ידני או אוטומטי. אפשר להשתמש באחת מהגישות הבאות:
- החלה סלקטיבית של עדכוני הגדרות על מקרים ספציפיים: אפשר להשתמש בגישה הזו כדי לשלוט בהפרעה, בתזמון וברצף של העדכונים.
- החלת עדכונים אוטומטית של תצורות באמצעות עדכונים מדורגים: משתמשים בגישה הזו כדי להחיל שינויים בתצורה על מופעים מנוהלים באופן אוטומטי ומדורג.
שתי השיטות האלה מחילות עדכונים ממתינים גם מהגדרות לכל מכונה וגם מגרסאות שלא הוחלו או מתבנית של הגדרות מכונה, אם רלוונטי.
החלה סלקטיבית של הגדרות מעודכנות על מקרים ספציפיים
כדי להחיל באופן ידני הגדרות לכל מכונה על מכונות ספציפיות, פועלים לפי השלבים הבאים:
- כדי למנוע מצב של מירוץ עם עדכונים אוטומטיים יזומים, צריך להגדיר מדיניות עדכונים אופורטוניסטית.
- יצירה או עדכון של הגדרות לכל מופע.
- עדכון סלקטיבי של מכונות וירטואליות ספציפיות כדי להחיל עליהן הגדרות מעודכנות.
אפשר גם להשתמש בגישות הבאות:
- כשיוצרים או מעדכנים הגדרה לכל מכונה באמצעות ה-CLI של gcloud, משתמשים בדגל
--update-instanceכדי להחיל את ההגדרה באופן מיידי על המכונה המנוהלת המשויכת. - כשיוצרים באופן ידני מופעים חדשים, צריך לציין את השמות שלהם ואת ההגדרות לכל מופע בזמן היצירה. ה-MIG מחיל את ההגדרות באופן מיידי על יצירת מכונות וירטואליות.
החלת עדכוני הגדרות באופן אוטומטי באמצעות עדכונים מדורגים
אתם יכולים להגדיר עדכונים מתגלגלים פרואקטיביים לקבוצת ה-MIG כדי להחיל באופן אוטומטי עדכוני הגדרה על מופעים מנוהלים תואמים באופן מתגלגל.
כדי להגדיר מדיניות עדכון יזום לקבוצות של מכונות וירטואליות במצב Stateful, צריך להגדיר את ההגדרות הבאות:
- צריך להגדיר את שיטת ההחלפה לערך
RECREATE. - צריך להגדיר את העלייה המקסימלית לערך
0. - ב-MIG אזורי, צריך להשבית את ההפצה הפרואקטיבית של מכונות וירטואליות בין אזורים.
ההגדרה הזו מבטיחה שקבוצת ה-MIG תיצור מחדש מכונות קיימות עם שמירת מצב, ולא תחליף אותן במכונות אחרות.
אפשר גם לוודא שהשינויים בהגדרות של כל מופע יחולו בלי לעצור את המופעים, אם אפשר, על ידי הגדרת הפעולה המינימלית לערך REFRESH במדיניות העדכון של הקבוצה.
בדיקה אם הוחלו הגדרות אישיות לכל מופע
אימות כל ההגדרות לכל מופע
כדי לוודא שכל ההגדרות לכל מופע בקבוצת MIG הוחלו, צופים בסטטוס עם שמירת מצב של קבוצת ה-MIG ובודקים את status.stateful.perInstanceConfigs.allEffective:
-
true: כל ההגדרות לכל מופע בקבוצה הוחלו והן בתוקף, או שאין בקבוצה הגדרות לכל מופע. -
false: לקבוצה יש לפחות הגדרה אחת לכל מופע שעדיין לא נכנסה לתוקף: עדיין לא החלתם אותה או שהיא בתהליך של החלה.
אימות של הגדרה ספציפית לכל מופע
כדי לוודא שהשינויים בהגדרה ספציפית לכל מופע הוחלו על המכונה הווירטואלית המתאימה, צופים בכל ההגדרות לכל מופע ובודקים את השדה status של ההגדרה הספציפית לכל מופע:
-
UNAPPLIED: התצורה לכל מופע נוצרה או עודכנה, וצריך להחיל אותה על המכונה הווירטואלית באמצעות עדכון ידני של המופע. -
APPLYING: קבוצת המכונות המנוהלת (MIG) מחילה כרגע את ההגדרה החדשה או המעודכנת לכל מופע על המכונה הווירטואלית. -
EFFECTIVE: ההגדרה לכל מופע הוחלה בהצלחה על המכונה הווירטואלית והיא בתוקף. -
UNAPPLIED_DELETION: ההגדרה לכל מופע מוגדרת למחיקה. כדי שהעדכון ייכנס לתוקף, צריך להחיל אותו על מכונת ה-VM באמצעות עדכון ידני של המכונה. -
DELETING: ההגדרה לכל מופע נמחקת והשינוי מוחל על המכונה הווירטואלית.
צפייה בהגדרות עם שמירת מצב ובמצב שנשמר
אפשר לקבל מידע על קבוצות ה-MIG עם שמירת מצב לביצוע המשימות הבאות:
- בדיקה אם ל-MIG יש הגדרה עם שמירת מצב, ואם ההגדרה הזו מוחלת ופעילה.
- הצגת הגדרה עם שמירת מצב שמשותפת לכל המופעים ב-MIG, שמאוחסנת במדיניות עם שמירת מצב.
- הצגת הגדרות עם שמירת מצב שספציפיות למופעים נפרדים, שמאוחסנות בהגדרות לכל מופע, ובדיקה אם ההגדרות האלה מוחלות ופעילות.
- צפייה במצב השמור בפועל של כל מופע ב-MIG על סמך מדיניות שמירת הנתונים וההגדרות שחלות על כל מופע.
צפייה בסטטוס של הגדרת Stateful של MIG
קבוצת MIG נחשבת כקבוצה עם שמירת מצב אם יש לה הגדרה עם שמירת מצב, כלומר מדיניות עם שמירת מצב או לפחות הגדרה אחת לא ריקה לכל מופע.
אם יוצרים מדיניות עם שמירת מצב, ה-MIG מחיל אותה באופן אוטומטי כדי שהיא תיכנס לתוקף. אם יוצרים הגדרות לכל מופע, אפשר להחליט להחיל אותן מאוחר יותר.
כדי לוודא של-MIG יש הגדרה עם שמירת מצב ושההגדרות לכל מופע חלות, אפשר להציג את הסטטוס של שמירת המצב של ה-MIG באמצעות ה-CLI של gcloud או REST.
gcloud
כדי לבדוק אם ל-MIG יש הגדרה עם שמירת מצב, מריצים את הפקודה gcloud compute instance-groups managed describe כדי לראות את הסטטוס של שמירת המצב. לדוגמה:
gcloud compute instance-groups managed describe NAME
baseInstanceName node
...
name example-group
...
status:
isStable: true
stateful:
hasStatefulConfig: true
perInstanceConfigs:
allEffective: true
versionTarget:
isReached: true
targetSize: 3
...
בדוגמה הזו:
hasStatefulConfig:-
true: לקבוצה יש הגדרה עם שמירת מצב, כלומר, לקבוצה יש מדיניות עם שמירת מצב שלא ריקה או לפחות הגדרה אחת לכל מכונה שלא ריקה. -
false: לא קיימת הגדרה עם שמירת מצב.
-
perInstanceConfigs.allEffective:-
true: כל ההגדרות לכל מופע בקבוצה הוחלו והן בתוקף, או שאין בקבוצה הגדרות לכל מופע. -
false: לקבוצה יש לפחות הגדרה אחת לכל מופע שעדיין לא נכנסה לתוקף: עדיין לא החלתם אותה או שהיא בתהליך של החלה.
-
REST
כדי לבדוק אם ל-MIG יש הגדרה עם שמירת מצב, משתמשים בשיטה instanceGroupManagers.get או regionInstanceGroupManagers.get ובודקים את השדה status.stateful. לדוגמה:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME
השיטה מחזירה את האובייקט instanceGroupManagers:
{
"name": "example-group",
"baseInstanceName": "node",
...
"status": {
"isStable": true,
"stateful": {
"hasStatefulConfig": true,
"perInstanceConfigs": {
"allEffective": true
}
},
"versionTarget": {
"isReached": true
}
},
"targetSize": 3,
...
}
בדוגמה הזו:
hasStatefulConfig:-
true: לקבוצה יש הגדרה עם שמירת מצב, כלומר, לקבוצה יש מדיניות עם שמירת מצב שלא ריקה או לפחות הגדרה אחת לכל מכונה שלא ריקה. -
false: לא קיימת הגדרה עם שמירת מצב.
-
perInstanceConfigs.allEffective:-
true: כל ההגדרות לכל מופע בקבוצה הוחלו והן בתוקף, או שאין בקבוצה הגדרות לכל מופע. -
false: לקבוצה יש לפחות הגדרה אחת לכל מופע שעדיין לא נכנסה לתוקף: עדיין לא החלתם אותה או שהיא בתהליך של החלה.
-
צפייה במדיניות Stateful של קבוצת MIG
כדי לראות את מדיניות שמירת המצב של קבוצת MIG, אפשר לבדוק את הפרטים של הקבוצה באמצעות מסוף Google Cloud Cloud de Confiance , ה-CLI של gcloud או REST.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
לוחצים על השם של קבוצת המופעים שרוצים לראות את המדיניות שלה לניהול מצב.
עוברים לכרטיסייה פרטים.
בקטע Stateful resources (משאבים עם שמירת מצב), מפורטים כל המשאבים במדיניות עם שמירת מצב.
gcloud
כדי לראות את מדיניות שמירת הנתונים של קבוצת MIG, מריצים את הפקודה
gcloud compute instance-groups managed describe. לדוגמה:
gcloud compute instance-groups managed describe NAME
baseInstanceName node
...
name example-group
...
statefulPolicy:
preservedState:
disks:
data-disk:
autoDelete: NEVER
logs-disk:
autoDelete: ON_PERMANENT_INSTANCE_DELETION
internalIPs:
nic0:
autoDelete: ON_PERMANENT_INSTANCE_DELETION
externalIPs:
nic0:
autoDelete: NEVER
status:
isStable: true
stateful:
hasStatefulConfig: true
perInstanceConfigs:
allEffective: true
versionTarget:
isReached: true
targetSize: 3
...
REST
כדי לראות את מדיניות שימור המידע של קבוצת MIG, משתמשים בשיטה instanceGroupManagers.get או regionInstanceGroupManagers.get ובודקים את השדה statefulPolicy. לדוגמה:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME
השיטה מחזירה את האובייקט instanceGroupManagers:
{
"name": "example-group",
"baseInstanceName": "node",
...
"status": {
"isStable": true,
"versionTarget": {
"isReached": true
},
"stateful": {
"hasStatefulConfig": true,
"perInstanceConfigs": {
"allEffective": true
}
}
...
"statefulPolicy": {
"preservedState": {
"disks": {
"data-disk": { "autoDelete": "NEVER" },
"logs-disk": { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }
},
"internalIPs": {
"nic0" : { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"}
},
"externalIPs": {
"nic0" : { "autoDelete": "NEVER"}
},
}
},
"targetSize": 3,
...
}
צפייה בהגדרות לכל מופע של קבוצת מופעים מנוהלת
כדי לראות את ההגדרות לכל מופע, מציגים את כל ההגדרות לכל מופע ב-MIG. משתמשים ב-CLI של gcloud או ב-REST.
אם תחליטו להחיל הגדרות לכל מופע באופן ידני, יכול להיות שחלק מההגדרות לכל מופע עדיין לא יחולו על המופעים המשויכים, ולכן המצבים השמורים של המופעים עדיין לא ישקפו את ההגדרות לכל מופע. מידע נוסף זמין במאמרים בנושא החלת הגדרות לכל מופע ובדיקה אם ההגדרות לכל מופע הוחלו
gcloud
כדי לראות את כל ההגדרות לכל מופע ב-MIG, מריצים את הפקודה gcloud compute instance-groups managed instance-configs list.
gcloud compute instance-groups managed instance-configs list NAME
מחליפים את מה שכתוב בשדות הבאים:
-
NAME: השם של קבוצת ה-MIG שממנה רוצים להציג את ההגדרות האישיות לכל מופע
מסננים את הרשימה באמצעות --filter
הדגל הרגיל.
לדוגמה, כדי להציג רשימה של כל ההגדרות לכל מופע ב-example-group:
gcloud compute instance-groups managed instance-configs list example-group
---
fingerprint: JxPvsKOywuY=
name: node-1
preservedState:
disks:
data-disk:
autoDelete: NEVER
mode: rw
source: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1
metadata:
role: primary
internalIPs:
nic0:
ipAddress:
address: /projects/example-project/regions/us-east1/addresses/node-1-int-ip
autoDelete: ON_PERMANENT_INSTANCE_DELETION
externalIPs:
nic0:
ipAddress:
literal: 130.211.181.55
autoDelete: NEVER
status: EFFECTIVE
---
fingerprint: IbGmJBqqEkk=
name: node-2
preservedState:
...
REST
כדי להציג את כל ההגדרות לכל מופע ב-MIG, קוראים לשיטה instanceGroupManagers.listPerInstanceConfigs או regionInstanceGroupManagers.listPerInstanceConfigs.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listPerInstanceConfigs
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של הבקשה -
ZONE: האזור שבו נמצאת קבוצת המופעים המנוהלים (MIG) (רלוונטי לקבוצת מופעים מנוהלים אזורית)- ל-MIG אזורי, מחליפים את
zones/ZONEב-regions/REGIONומציינים את האזור של ה-MIG.
- ל-MIG אזורי, מחליפים את
-
NAME: השם של קבוצת ה-MIG שממנה רוצים להציג את ההגדרות האישיות לכל מופע
לדוגמה, כדי להציג רשימה של כל ההגדרות לכל מופע ב-example-group:
POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/listPerInstanceConfigs
השיטה מחזירה את רשימת ההגדרות לכל מופע בקבוצה:
{
"items": [
{
"fingerprint": "JxPvsKOywuY=",
"name": "node-1",
"preservedState" : {
"disks": {
"data-disk" : {
"source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
"mode": "READ_WRITE",
"autoDelete": "NEVER"
}
},
"metadata": {
"role": "primary"
},
"internalIPs": {
"nic0" : {
"ipAddress" : {
"address": "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
},
"autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
}
},
"externalIPs": {
"nic0": {
"ipAddress" : {
"literal": "54.2.3.4"
},
"autoDelete": "NEVER"
}
}
},
"status": "EFFECTIVE"
},
{
"fingerprint": "IbGmJBqqEkk=",
"name": "node-2",
"preservedState" : {
...
}
...
},
...
]
}
הצגת המצבים שנשמרו של מופעים מנוהלים
כשמחילים הגדרה עם שמירת מצב, ה-MIG יוצר ומגדיר את המצב השמור האפקטיבי של כל מכונה מנוהלת בשני שדות:
-
preservedStateFromPolicy: מכיל את המצב שנשמר שנוצר על סמך מדיניות עם שמירת מצב, לא כולל הגדרות עם שמירת מצב שמוחלפות על ידי הגדרות לכל מופע. -
preservedStateFromConfig: מכיל את המצב שנשמר, שנוצר על סמך הגדרה לכל מופע שכבר הוחלה על המופע המנוהל.
כדי לראות את המצב שנשמר בפועל של כל מכונה מנוהלת ב-MIG, מריצים את הפקודה ה-CLI של gcloud או REST כדי להציג את רשימת המכונות המנוהלות.
gcloud
כדי לבדוק אילו מופעים מנוהלים שמרו את הסטטוס, משתמשים בפקודה gcloud compute instance-groups managed list-instances ומסתכלים על הערכים בעמודה PRESERVED_STATE. לדוגמה:
gcloud compute instance-groups managed list-instances NAME
NAME ZONE STATUS HEALTH_STATE ACTION PRESERVED_STATE INSTANCE_TEMPLATE ...
node-1 us-east1-c RUNNING NONE POLICY,CONFIG example-template
node-2 us-east1-c RUNNING NONE POLICY,CONFIG example-template
העמודה PRESERVED_STATE יכולה להכיל את הערכים הבאים:
-
POLICY: המכונה המנוהלת שמרה את המצב שלה בהתאם למדיניות שמירת מצב. -
CONFIG: המופע המנוהל שמר את המצב על סמך הגדרה לכל מופע. - אין ערך: למופע המנוהל אין מצב שמור והוא חסר מצב.
כדי לראות את המצב השמור של מופע מנוהל ספציפי, מריצים את הפקודה gcloud compute instance-groups managed describe-instance.
gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_GROUP_NAME: השם של קבוצת ה-MIG -
INSTANCE_NAME: השם של מכונה מנוהלת בקבוצה
לדוגמה, כדי לראות את המצב שנשמר של המופע המנוהל node-1 ב-example-group, מריצים את הפקודה:
gcloud compute instance-groups managed describe-instance example-group \
--instance node-1
instance: .../example-project/zones/us-east1-c/instances/node-1
instanceStatus: RUNNING
currentAction: NONE
id: 123456789012345678
version:
instanceTemplate: .../example-project/global/instanceTemplates/example-template
preservedStateFromPolicy:
disks:
data-disk:
autoDelete: NEVER
mode: rw
source: .../example-project/zones/us-east1-c/disks/data-disk-1
internalIPs:
nic0:
ipAddress:
literal: 10.0.0.1
address: .../example-project/regions/us-east1/addresses/node-1-int-ip
autoDelete: ON_PERMANENT_INSTANCE_DELETION
preservedStateFromConfig:
metadata:
role: primary
my-key: my-value
externalIPs:
nic0:
ipAddress:
literal: 130.211.181.55
address: .../example-project/regions/us-east1/addresses/node-1-nat-ip
autoDelete: NEVER
REST
כדי לראות את המצב השמור של כל מופע, אפשר להשתמש בשיטה instanceGroupManagers.listManagedInstances או בשיטה regionInstanceGroupManagers.listManagedInstances.
לדוגמה, כדי להציג רשימה של כל המכונות המנוהלות:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listManagedInstances
השיטה מחזירה את רשימת המופעים המנוהלים בקבוצה, שכוללת מידע על המצבים השמורים שלהם:
{
"managedInstances": [
{
"instance": ".../example-project/zones/us-east1-c/instances/node-1",
"instanceStatus": "RUNNING",
"currentAction": "NONE",
"id": "123456789012345678",
"version": {
"instanceTemplate":".../example-project/global/instanceTemplates/example-template"
},
"preservedStateFromPolicy": {
"disks": {
"data-disk" : {
"source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
"mode": "rw",
"autoDelete": "NEVER"
},
},
"internalIPs": {
"nic0" : {
"ipAddress": {
"literal": "10.0.0.1",
"address": "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
},
"autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
}
},
},
"preservedStateFromConfig": {
"metadata": {
"role": "primary",
"my-key": "my-value"
},
"externalIPs": {
"nic0": {
"ipAddress": {
"literal": "130.211.181.55",
"address": "/projects/example-project/regions/us-east1/addresses/node-1-nat-ip"
},
"autoDelete": "NEVER"
}
},
}
},
{
"instance": ".../example-project/zones/us-east1-c/instances/node-2",
"instanceStatus": "RUNNING",
...
"preservedStateFromPolicy": {
...
},
"preservedStateFromConfig": {
...
}
},
...
]
}
צפייה במשאבים של כתובות IP סטטיות משויכות
כדי לאחזר כתובות IP סטטיות (משאבי Address) שמוקצות למכונות וירטואליות מנוהלות ב-MIG, צריך לראות את המצבים שנשמרו של המכונות האלה. אפשר לראות את הכתובות הסטטיות בשדות ipAddress.address.
אם קבוצת ה-MIG או המכונות כבר לא קיימות, אבל עדיין יש הזמנות של כתובות IP, אפשר להציג את ההזמנות של כתובות פנימיות או חיצוניות סטטיות.
הסרת הגדרות אישיות עם שמירת מצב
הסרת הגדרות עם שמירת מצב שימושית בתרחישים הבאים:
- העברתם מכונות VM עצמאיות ל-MIG עם שמירת מצב, ועכשיו אתם רוצים להעביר את ההגדרה עם שמירת המצב מהגדרות לכל מופע למדיניות נפוצה עם שמירת מצב.
- הארכיטקטורה של עומס העבודה שלך שונתה, ולא צריך יותר לשמור מצב במכונות הווירטואליות.
- יצרתם הגדרה עם שמירת מצב לצורכי בדיקה, ועכשיו אתם רוצים לנקות אותה.
בקטע הזה מוסבר איך להסיר באופן מלא מדיניות עם שמירת מצב בהגדרה של כל מכונה. אם אתם צריכים להסיר רק קבוצת משנה של מדיניות עם שמירת מצב או של הגדרה לכל מופע, כדאי לעיין בקטעים הבאים:
- הצהרה על דיסקים לאחסון מתמיד שהיו בעלי מצב כחסרי מצב לכל המכונות הווירטואליות ב-MIG.
- הצהרה על ממשקי רשת שהיו בעלי מצב (stateful) כחסרי מצב (stateless) לכל המכונות הווירטואליות ב-MIG.
- ניתוק דיסק עם שמירת מצב או הגדרת דיסק ללא שמירת מצב למכונה וירטואלית ספציפית ב-MIG.
- הסרת מטא-נתונים עם שמירת מצב ממכונה וירטואלית ספציפית ב-MIG
- ביטול השיוך של כתובת IP סטטית למכונה וירטואלית ספציפית ב-MIG.
הסרה של מדיניות עם שמירת מצב
כשמסירים מדיניות עם שמירת מצב, ההסרה משפיעה על כל המכונות הווירטואליות ב-MIG. קבוצת ה-MIG מתייחסת לכל המשאבים עם שמירת מצב שהוגדרו במדיניות עם שמירת מצב כאל משאבים בלי שמירת מצב, אלא אם המשאבים האלה מוגדרים גם בהגדרות לכל מופע עבור מופעים נפרדים. בפעולות הבאות של יצירה מחדש של מופע, תיקון אוטומטי או עדכון, יכול להיות שהמצב של המשאבים שהם עכשיו חסרי מצב יאבד:
- אפשר למחוק דיסקים וליצור אותם מחדש מהמקור, שמוגדר בתבנית של הגדרות מכונה.
- יכול להיות שכתובות ה-IP ישתנו.
מידע תיאורטי מופיע במאמר איך הסרת משאב ממדיניות עם שמירת מצב משפיעה על המצב שנשמר.
gcloud
כדי למחוק את כל ההגדרות ממדיניות עם שמירת מצב, מריצים את הפקודה gcloud compute instance-groups managed update עם הדגלים הרלוונטיים. אלה הסימונים הרלוונטיים:
-
--remove-stateful-disks, ורשימה של שמות המכשירים של כל הדיסקים עם שמירת מצב שהוגדרו. -
--remove-stateful-internal-ips, ורשימה של שמות ממשקי הרשת של כל כתובות ה-IP הפנימיות שהוגדרו עם שמירת מצב. -
--remove-stateful-external-ips, ורשימה של שמות ממשקי הרשת של כל כתובות ה-IP החיצוניות הסטטיות שהוגדרו.
לדוגמה, אם מדיניות עם שמירת מצב מכילה הגדרות לשני דיסקים עם שמירת מצב עם שמות המכשירים data-disk ו-logs-disk, והיא מכילה הגדרות לכתובות IP פנימיות וכתובות IP חיצוניות עם שמירת מצב בממשק הרשת nic0, מריצים את הפקודה הבאה כדי לנקות את המדיניות:
gcloud compute instance-groups managed update example-group \
--zone us-east1-c \
--remove-stateful-disks data-disk,logs-disk \
--remove-stateful-internal-ips nic0 \
--remove-stateful-external-ips nic0
קבוצת ה-MIG מסירה ממדיניות שמירת המצב שלה את ההגדרות data-disk ו-logs-disk, וגם את ההגדרות של כתובות ה-IP הפנימיות וכתובות ה-IP החיצוניות של ממשק הרשת nic0. כתוצאה מכך, קבוצת ה-MIG מסירה את הדיסקים ואת כתובות ה-IP הקבועות מהמצבים השמורים של כל המכונות המנוהלות בקבוצה באופן אוטומטי ואסינכרוני, אלא אם הדיסקים או כתובות ה-IP מוגדרים גם בהגדרות של כל מכונה בנפרד.
REST
כדי למחוק את כל ההגדרות במדיניות עם שמירת מצב, מגדירים את השדה statefulPolicy לערך null באמצעות instanceGroupManagers.patch או regionInstanceGroupManagers.patch.
method.
לדוגמה, הקריאה הבאה מסירה את הגדרת המדיניות עם שמירת מצב:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME
{
"statefulPolicy": null
}
קבוצת ה-MIG מנקה את הגדרת המדיניות עם שמירת מצב ומסירה את המשאבים עם שמירת מצב מהמצבים השמורים של כל המופעים המנוהלים בקבוצה באופן אוטומטי ואסינכרוני, אלא אם המשאבים מוגדרים גם בהגדרות לכל מופע.
הסרת הגדרה עם שמירת מצב של מכונת VM ספציפית
כדי להסיר הגדרה עם שמירת מצב של מכונת VM ספציפית, צריך לבצע שני שלבים:
- מוחקים את ההגדרה המשויכת לכל מופע.
- מחילים את השינוי על המופע המנוהל. אתם יכולים לבחור אם השינוי יתבצע באופן ידני או אוטומטי.
אחרי שהשינוי מוחל, כל הפריטים עם שמירת מצב שהוגדרו קודם בהגדרה לכל מופע מטופלים עכשיו כפריטים ללא שמירת מצב, אלא אם הם מוגדרים גם במדיניות שמירת המצב של הקבוצה. כשיוצרים מחדש את מכונת ה-VM או מעדכנים אותה, המצב של הפריטים אובד:
- אפשר לנתק דיסקים או ליצור אותם מחדש מהמקור שלהם בתבנית של מופע.
- המטא-נתונים מוסרים או מאופסים לערכים שמוגדרים בתבנית של הגדרות מכונה.
- יכול להיות שכתובות ה-IP ישתנו.
מידע נוסף זמין במאמר בנושא ההשפעה של הסרת פריטים מהגדרות לכל מופע על המצב שנשמר.
gcloud
כדי למחוק לגמרי את ההגדרה לכל מופע, מריצים את הפקודה gcloud compute instance-groups managed instance-configs delete.
אפשר להשתמש בדגל האופציונלי --update-instance כדי להחיל את השינויים באופן מיידי על המופע (ברירת המחדל). אם מגדירים את הדגל --no-update-instance, השינויים מוחלים בפעם הבאה שיוצרים מחדש את המופע או מעדכנים אותו.
אפשר להשתמש בדגל --instance-update-minimal-action רק יחד עם הדגל --update-instance.
gcloud compute instance-groups managed instance-configs delete INSTANCE_GROUP_NAME \ --instances INSTANCE_NAME[,INSTANCE_NAME,...] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_GROUP_NAME: השם של ה-MIG. -
INSTANCE_NAME: השמות של המכונות שרוצים למחוק את ההגדרות שלהן -
MINIMAL_ACTION: הפעולה המינימלית שיש לבצע כשמחילים את עדכון ההגדרות לכל מופע על המכונה הווירטואלית. הערך הזה צריך להיות אחד מהערכים הבאים:-
none: אין פעולה. -
refresh: החלת עדכונים שאפשר להחיל בלי לעצור את המכונה הווירטואלית. -
restart: עוצרים את המכונה הווירטואלית ומפעילים אותה מחדש. -
replace: יצירה מחדש של המכונה הווירטואלית.
-
לדוגמה, כדי למחוק את ההגדרה לכל מופע של node-1 ב-example-group, מריצים את הפקודה הבאה:
gcloud compute instance-groups managed instance-configs delete example-group \ --instances node-1 \ --update-instance
ה-MIG מוחק את ההגדרה לכל אירוע של node-1, ומכיוון שהמכונה הווירטואלית עודכנה והשינויים בהגדרות הוחלו, ה-MIG כבר לא מתייחס לפריטים האלה שהיו בעלי מצב קודם כפריטים בעלי מצב.
REST
כדי למחוק לגמרי את ההגדרה לכל מופע של מופע אחד או יותר, משתמשים בשיטה instanceGroupManagers.deletePerInstanceConfigs או regionInstanceGroupManagers.deletePerInstanceConfigs.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/deletePerInstanceConfigs
{
"names": ["INSTANCE_NAME",...]
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של הבקשה -
ZONE: האזור שבו נמצאת קבוצת המופעים המנוהלים (MIG) (רלוונטי לקבוצת מופעים מנוהלים אזורית)- ל-MIG אזורי, מחליפים את
zones/ZONEב-regions/REGIONומציינים את האזור של ה-MIG.
- ל-MIG אזורי, מחליפים את
-
INSTANCE_GROUP_NAME: השם של ה-MIG -
INSTANCE_NAME: השמות של המכונות שרוצים למחוק את ההגדרות שלהן
השיטה deletePerInstanceConfig מוחקת את ההגדרות שצוינו לכל מופע, אבל לא מחילה את השינויים על המכונות הווירטואליות המשויכות. השינויים יחולו על מכונה וירטואלית כשיוצרים מחדש את המכונה או מעדכנים אותה.
מעדכנים את המכונות הווירטואליות שנבחרו באופן ידני כדי להחיל את השינויים.
לדוגמה, כדי למחוק הגדרה לכל מכונה עבור node-1 ב-example-group, צריך לבצע קריאה לשיטה הבאה:
POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/deletePerInstanceConfigs
{
"names": ["node-1"]
}
השיטה מוחקת את ההגדרה של המכונה node-1 מ-example-group. השינוי יחול על המופע המנוהל כשתשחזרו או תעדכנו את המופע.
כדי להחיל את שינוי ההגדרה, קוראים לשיטת instanceGroupManagers.applyUpdatesToInstances:
POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/applyUpdatesToInstances
{
"instances": ["/zones/us-east1-c/instances/node-1"]
}
השיטה מסירה פריטים עם שמירת מצב מהמצב השמור של המופע המנוהל.
משוב
נשמח לשמוע על תרחישי השימוש שלכם, על האתגרים שנתקלתם בהם ועל המשוב שלכם לגבי קבוצות של מכונות וירטואליות עם שמירת מצב. נשמח לקבל משוב מהצוות שלך בכתובת mig-discuss@google.com.
המאמרים הבאים
- הגדרה של קבוצת מופעי מכונה מנוהלים (MIG) עם שמירת מצב
- קבלת מידע על קבוצת MIG ספציפית ועל המופעים המנוהלים שלה, כולל סטטוס ומאפיינים של מכונות וירטואליות.
- מידע נוסף על קבוצות MIG עם שמירת מצב
- מידע נוסף על קבוצות של מכונות מנוהלות (MIG) ועל עבודה עם מופעים מנוהלים