אחרי שיוצרים או מעדכנים הגדרה עם שמירת מצב עבור קבוצת מופעי מכונה מנוהלים (MIG) עם שמירת מצב, אפשר:
- מחילים את ההגדרה עם שמירת המצב כדי שהיא תיכנס לתוקף.
- הצגה של התצורה עם שמירת מצב ושל המצב השמור האפקטיבי של המופעים המנוהלים.
- מסירים את ההגדרה עם שמירת מצב.
לפני שמתחילים
- כדאי לעיין במידע על מתי כדאי להשתמש בקבוצות MIG עם שמירת מצב ועל אופן הפעולה של קבוצות 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
-
- הגדרת אזור ותחום כברירת מחדל
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 כדי להחיל עדכוני הגדרה על מופעים מנוהלים תואמים באופן מדורג.
כדי להגדיר מדיניות עדכון יזום לקבוצות MIG עם שמירת מצב, צריך להגדיר את ההגדרות הבאות:
- צריך להגדיר את שיטת ההחלפה לערך
RECREATE. - חובה להגדיר את העלייה המקסימלית לערך
0. - במקרה של קבוצות אזוריות של מכונות וירטואליות, צריך להשבית את ההפצה הפרואקטיבית של מכונות וירטואליות בין אזורים.
ההגדרה הזו מבטיחה שקבוצת ה-MIG תיצור מחדש מכונות קיימות עם שמירת מצב, ולא תחליף אותן במכונות אחרות.
כדי לוודא ששינויים בהגדרות של כל מופע יחולו בלי לעצור את המופעים, אם אפשר, אפשר להגדיר את הפעולה המינימלית לערך REFRESH במדיניות העדכון של הקבוצה.
בדיקה אם הוחלו הגדרות אישיות לכל מכונה
אימות כל ההגדרות לכל מופע
כדי לוודא שכל ההגדרות לכל מופע בקבוצת MIG הוחלו, צופים בסטטוס עם שמירת מצב של קבוצת ה-MIG ובודקים את status.stateful.perInstanceConfigs.allEffective:
-
true: כל ההגדרות לכל מופע בקבוצה הוחלו והן בתוקף, או שאין בקבוצה הגדרות לכל מופע. -
false: לקבוצה יש לפחות הגדרה אחת לכל מופע שעדיין לא נכנסה לתוקף: או שעדיין לא החלתם אותה או שהיא בתהליך של החלה.
אימות של הגדרה ספציפית לכל מופע
כדי לוודא שהשינויים בהגדרה ספציפית לכל מופע הוחלו על המכונה הווירטואלית המתאימה, צופים בכל ההגדרות הספציפיות לכל מופע ובודקים את השדה status של ההגדרה הספציפית לכל מופע:
-
UNAPPLIED: התצורה לכל מופע נוצרה או עודכנה, ועכשיו צריך להחיל אותה על המכונה הווירטואלית באמצעות עדכון ידני של המופע. -
APPLYING: קבוצת המופעים המנוהלת (MIG) מחילה כרגע את ההגדרה החדשה או המעודכנת לכל מופע על המכונה הווירטואלית. -
EFFECTIVE: ההגדרה לכל מופע הוחלה בהצלחה על המכונה הווירטואלית והיא בתוקף. -
UNAPPLIED_DELETION: ההגדרה לכל מופע מוגדרת למחיקה. כדי שהעדכון ייכנס לתוקף, צריך להחיל אותו על מכונת ה-VM באמצעות עדכון ידני של המופע. -
DELETING: ההגדרה לכל מופע נמחקת והשינוי מוחל על המכונה הווירטואלית.
צפייה בהגדרות עם שמירת מצב ובמצב שנשמר
כדי לבצע את המשימות הבאות, צריך לקבל מידע על קבוצות ה-MIG עם שמירת מצב:
- בדיקה אם ל-MIG יש הגדרה עם שמירת מצב, ואם ההגדרה הזו מוחלת ופעילה.
- הצגת הגדרה עם שמירת מצב שמשותפת לכל המופעים ב-MIG, שמאוחסנת במדיניות עם שמירת מצב.
- הצגת הגדרות עם שמירת מצב שספציפיות למופעים נפרדים, שמאוחסנות בהגדרות לכל מופע, ובדיקה אם ההגדרות האלה מוחלות ופעילות.
- צפייה במצב השמור בפועל של כל מופע ב-MIG על סמך מדיניות שמירת הנתונים וההגדרות שחלות על כל מופע.
צפייה בסטטוס של הגדרה עם שמירת מצב של קבוצת 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, ה-CLI של gcloud או REST. Cloud de Confiance
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
לוחצים על השם של קבוצת המופעים שרוצים להציג את מדיניות Stateful שלה.
עוברים לכרטיסייה פרטים.
בקטע 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
כדי לראות את ההגדרות לכל מופע, מציגים את כל ההגדרות לכל מופע ב-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 אזורי)- ל-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: המצב של המופע המנוהל נשמר על סמך הגדרה לכל מופע. - אין ערך: למכונה לניהול אין מצב שמור והיא חסרת מצב (stateless).
כדי לראות את המצב שנשמר של מופע מנוהל ספציפי, מריצים את הפקודה 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 או מעדכנים אותה, המצב של הפריטים אובד:
- אפשר לנתק דיסקים או ליצור אותם מחדש מהמקור שלהם בתבנית של מופע.
- המטא-נתונים מוסרים או מאופסים לערכים שמוגדרים בתבנית של הגדרות מכונה.
- יכול להיות שכתובות ה-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 ועל עבודה עם מופעים מנוהלים