בדף הזה מוסבר איך לעדכן את הדיירות של מכונה וירטואלית על ידי שינוי תוויות ההתאמה של הצומת של המכונה הווירטואלית.
כברירת מחדל, מכונות וירטואליות ב-Compute Engine נפרסות במארחים עם מספר דיירים. במארחים עם מספר דיירים, מכונות וירטואליות בדרך כלל חולקות משאבי מארח עם מכונות וירטואליות מפרויקטים אחרים ומלקוחות אחרים. כשמעבירים מכונה וירטואלית לשרת לדייר יחיד (sole-tenant), לפרויקט יש גישה בלעדית לחומרה של השרת לדייר יחיד (sole-tenant) ושליטה מלאה בה. אתם הדיירים היחידים בצומת הזה, ולכן עומסי העבודה שלכם מבודדים מעומסי העבודה של פרויקטים אחרים ומהמכונות הווירטואליות שלהם.
אפשר להעביר מכונה וירטואלית בדרכים הבאות באמצעות שינוי של תוויות שיוך לצומת:
- ממארח עם מספר דיירים לקבוצת שרתים לדייר יחיד או לשרת לדייר יחיד
- משרת לדייר יחיד (sole-tenant) או מקבוצת שרתים לדייר יחיד (sole-tenant) למארח עם דיירים מרובים
- משרת לדייר יחיד אחד לשרת לדייר יחיד אחר או לקבוצת שרתים לדייר יחיד
- מקבוצת שרתים לדייר יחיד לקבוצת שרתים אחרת לדייר יחיד או לשרת
העברה זמנית של עומסי עבודה לשימוש בלעדי
בגלל דרישות משתנות של עומסי העבודה, כמו צורך תקופתי בבידוד נוסף כדי לבדוק את הביצועים, או שינויים בתקנות התאימות, יכול להיות שתצטרכו להעביר באופן זמני עומסי עבודה ספציפיים לצמתים עם דייר יחיד. לאחר מכן, כשכבר לא תצטרכו דיירות יחידה, תוכלו לפרוס מחדש את מכונות ה-VM למארח עם דיירות משותפת. כשמשנים את הדיירות של מכונה וירטואלית, Compute Engine שומרת את ההגדרות של המכונה הווירטואלית.
איזון מחדש של עומסי עבודה בשרתים לדייר יחיד
בנוסף להעברת מכונות וירטואליות לצמתים ולקבוצות צמתים של דייר יחיד וממנה, אפשר להעביר מכונות וירטואליות בין צמתים וקבוצות צמתים. כך אפשר לאחד צמתים ולבצע איזון מחדש של עומסי עבודה. העברה של מכונה וירטואלית מחייבת הפעלה מחדש, לכן חשוב לתכנן את ההעברה של מכונות וירטואליות בהתאם לדרישות הזמינות של עומסי העבודה.
מגבלות
- כשמעבירים מכונה וירטואלית שכבר פועלת בשרת לדייר יחיד (sole-tenant), יכול להיות שהמכונה הווירטואלית תופעל מחדש בשרת אחר. אם הדיירות הבלעדית של מכונת VM מוגדרת לפי שם קבוצת הצמתים או באמצעות
node-group-nameתווית ברירת המחדל של ההצמדה, אפשר להפעיל מחדש את מכונת ה-VM בכל צומת בקבוצת הצמתים. אם הדיירות הבלעדית של המכונה הווירטואלית מצוינת באמצעות שיוך או תוויות שיוך מותאמות אישית, יכול להיות שהמכונה הווירטואלית תופעל מחדש בכל צומת של כל קבוצת צמתים באזור.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
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 .
העברת מכונה וירטואלית לשימוש בלעדי
כדי לעדכן את הדיירות, מעבירים את המכונה הווירטואלית לשרת ספציפי לדייר יחיד או לקבוצת שרתים מצומת אחר או מקבוצת צמתים אחרת, או ממארח עם כמה דיירים.
gcloud
מפסיקים את ה-VM.
gcloud compute instances stop VM_NAME
מחליפים את
VM_NAMEבשם המכונה הווירטואלית שרוצים להפסיק.מעדכנים את הדיירות על ידי ציון קבוצת הצמתים שאליה רוצים להעביר את המכונה הווירטואלית.
gcloud compute instances set-scheduling VM_NAME \ --node-group=NODE_GROUP_NAMEמחליפים את מה שכתוב בשדות הבאים:
VM_NAMEשם המכונה הווירטואלית להעברה לקבוצת צמתים ספציפיתNODE_GROUP_NAMEהשם של קבוצת הצמתים שאליה רוצים להעביר את המכונה הווירטואלית
אפשר גם להעביר מכונה וירטואלית לשרת לדייר יחיד (sole-tenant) באמצעות השם של השרת או באמצעות תווית שיוך. מידע נוסף זמין במאמר בנושא הפקודה
gcloud compute instances set-scheduling.מפעילים את ה-VM.
gcloud compute instances start VM_NAME
מחליפים את
VM_NAMEבשם של המכונה הווירטואלית שרוצים להפעיל בקבוצת הצמתים שצוינה קודם באמצעות התוכן של קובץ תווית הקרבה.
REST
מפסיקים את ה-VM. מידע נוסף על הפקודה הזו זמין במאמר בנושא instances.stop.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שמכיל את המכונה הווירטואלית שרוצים לעצוראזור
ZONEשמכיל את הפרויקטVM_NAMEשם המכונה הווירטואלית שרוצים להפסיק
מעדכנים את הדיירות על ידי ציון קבוצת הצמתים שאליה רוצים להעביר את המכונה הווירטואלית.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "NODE_GROUP_NAME" ] } ] }מחליפים את מה שכתוב בשדות הבאים:
PROJECT_IDמזהה הפרויקט שמכיל את מכונת ה-VM שרוצים להעביראזור
ZONEשמכיל את הפרויקטVM_NAMEשם המכונה הווירטואלית להעברה לקבוצת צמתים ספציפיתNODE_GROUP_NAMEהשם של קבוצת הצמתים שאליה רוצים להעביר את המכונה הווירטואלית
אפשר גם להעביר מכונה וירטואלית לשרת לדייר יחיד (sole-tenant) באמצעות השם של השרת או באמצעות תווית שיוך. מידע נוסף זמין במאמר בנושא השיטה
instances.setScheduling.מפעילים את ה-VM. מידע נוסף על הפקודה הזו זמין במאמר
instances.start.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_IDמזהה הפרויקט שמכיל את המכונה הווירטואלית שרוצים להפעילאזור
ZONEשמכיל את הפרויקטVM_NAMEשם המכונה הווירטואלית להפעלה
העברה של מכונה וירטואלית משימוש בלעדי
אם המכונה הווירטואלית שלכם כבר לא דורשת חומרה ייעודית, למשל אחרי אירוע שדרש בידוד של המכונה הווירטואלית ממכונות וירטואליות אחרות, אתם יכולים להעביר את המכונה הווירטואלית משרת לדייר יחיד (sole-tenant) למארח עם כמה דיירים.
gcloud
מפסיקים את ה-VM.
gcloud compute instances stop VM_NAME
מחליפים את
VM_NAMEבשם המכונה הווירטואלית שרוצים להפסיק.מנקים את ההעדפות של הצומת מהמכונה הווירטואלית כדי שאפשר יהיה להעביר אותה למארח עם כמה דיירים.
gcloud compute instances set-scheduling VM_NAME --clear-node-affinities
מחליפים את
VM_NAMEבשם של המכונה הווירטואלית שרוצים להסיר ממנה את ההעדפות של הצמתים.מפעילים את ה-VM במארח עם כמה דיירים.
gcloud compute instances start VM_NAME
מחליפים את
VM_NAMEבשם המכונה הווירטואלית שממנה ניקיתם קודם את ההעדפות של הצמתים.
REST
מפסיקים את ה-VM. מידע נוסף על הפקודה הזו זמין במאמר
instances.stop.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_IDמזהה הפרויקט שמכיל את המכונה הווירטואלית שרוצים לעצוראזור
ZONEשמכיל את הפרויקטVM_NAMEשם המכונה הווירטואלית שרוצים להפסיק
מנקים את ההעדפות של הצומת מה-VM כדי להעביר אותו למארח עם כמה דיירים.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "nodeAffinities": [] }מחליפים את מה שכתוב בשדות הבאים:
PROJECT_IDמזהה הפרויקט שמכיל את המכונה הווירטואלית שרוצים להעביראזור
ZONEשמכיל את הפרויקט
VM_NAMEשם המכונה הווירטואלית שממנה רוצים לנקות את ההעדפות של הצמתים
מפעילים את ה-VM במארח עם כמה דיירים. מידע נוסף על הפקודה הזו זמין במאמר instances.start.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_IDמזהה הפרויקט שמכיל את המכונה הווירטואלית שרוצים להפעילאזור
ZONEשמכיל את הפרויקטVM_NAMEשם המכונה הווירטואלית להפעלה