בדף הזה מוסבר איך לעדכן את ה-tenancy של מכונה וירטואלית על ידי שינוי התוויות של קשרי הגומלין של הצומת של המכונה הווירטואלית.
כברירת מחדל, Compute Engine פורס מכונות וירטואליות במארחים עם דיירים רבים. במארחים עם כמה דיירים, המכונות הווירטואליות בדרך כלל חולקות את משאבי המארח עם מכונות וירטואליות מפרויקטים ומלקוחות אחרים. כשמעבירים מכונה וירטואלית לצומת לדייר יחיד (sole-tenant), לפרויקט יש גישה בלעדית ושליטה מלאה בחומרה של הצומת לדייר יחיד. אתם הדיירים היחידים בצומת הזה, ולכן עומסי העבודה שלכם מבודדים מעומסי העבודה של פרויקטים אחרים ומהמכונות הווירטואליות שלהם.
אפשר להעביר מכונה וירטואלית בדרכים הבאות באמצעות שינוי של תוויות שיוך לצומת:
- ממארח עם כמה דיירים לקבוצת שרתים לדייר יחיד או לשרת לדייר יחיד
- משרת או מקבוצת שרתים לדייר יחיד למארח מרובה דיירים
- משרת לדייר יחיד (sole-tenant) אחד לשרת אחר לדייר יחיד או לקבוצת שרתים
- מקבוצת צמתים לדייר יחיד לקבוצת צמתים אחרת לדייר יחיד או לצומת
העברה זמנית של עומסי עבודה לדיירות יחידה
בגלל דרישות משתנות של עומסי העבודה, כמו צורך תקופתי בבידוד נוסף כדי לבדוק את הביצועים, או שינויים בתקנות התאימות, יכול להיות שתצטרכו להעביר באופן זמני עומסי עבודה ספציפיים לשרתים לדייר יחיד (sole-tenant). לאחר מכן, כשכבר לא תצטרכו דיירות יחידה, תוכלו לפרוס מחדש את המכונות הווירטואליות למארח עם דיירות משותפת. כשמשנים את הדיירות של מכונה וירטואלית, Compute Engine שומרת את ההגדרות של המכונה הווירטואלית.
איזון מחדש של עומסי עבודה בשרתים לדייר יחיד
בנוסף להעברת מכונות וירטואליות אל שרתי דייר יחיד (sole-tenant) וקבוצות צמתים וממנו, אפשר להעביר מכונות וירטואליות בין צמתים וקבוצות צמתים. כך אפשר לאחד צמתים ולבצע איזון מחדש של עומסי עבודה. העברה של מכונה וירטואלית מחייבת הפעלה מחדש, לכן צריך לתכנן את ההעברה של מכונות וירטואליות בהתאם לדרישות הזמינות של עומסי העבודה.
מגבלות
- כשמעבירים מכונה וירטואלית שכבר פועלת בשרת לדייר יחיד (sole-tenant), יכול להיות שהמכונה הווירטואלית תופעל מחדש בשרת אחר. אם הדיירות היחידה של ה-VM צוינה לפי שם קבוצת הצמתים או באמצעות
node-group-nameתווית ברירת המחדל של השיוך, אפשר להפעיל מחדש את ה-VM בכל צומת בקבוצת הצמתים. אם הדיירות הבלעדית של המכונה הווירטואלית מוגדרת באמצעות תוויות מותאמות אישית של קירבה או אנטי-קירבה, יכול להיות שהמכונה הווירטואלית תופעל מחדש בכל צומת של כל קבוצת צמתים באזור.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
העברת VM לדייר יחיד
מעדכנים את הדיירות על ידי העברת מכונה וירטואלית לשרת ספציפי לדייר יחיד (sole-tenant) או לקבוצת שרתים מצומת אחר או מקבוצת צמתים אחרת או ממארח עם דיירים מרובים.
gcloud
מפסיקים את ה-VM.
gcloud compute instances stop VM_NAME
מחליפים את
VM_NAMEבשם של המכונה הווירטואלית שרוצים לעצור.מעדכנים את הדיירות (tenancy) על ידי ציון קבוצת הצמתים שאליה רוצים להעביר את ה-VM.
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שם המכונה הווירטואלית שרוצים לעצור
כדי לעדכן את הדיירות, מציינים את קבוצת הצמתים שאליה רוצים להעביר את מכונת ה-VM.
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מזהה הפרויקט שמכיל את המכונה הווירטואלית שרוצים להעביראזור
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שם המכונה הווירטואלית להפעלה
העברת מכונה וירטואלית מחוץ לשימוש בלעדי בדיירות
אם המכונה הווירטואלית כבר לא צריכה חומרה ייעודית, למשל אחרי אירוע שדרש לבודד את המכונה הווירטואלית ממכונות וירטואליות אחרות, אתם יכולים להעביר את המכונה הווירטואלית משרת לדייר יחיד למארח עם כמה דיירים.
gcloud
מפסיקים את ה-VM.
gcloud compute instances stop VM_NAME
מחליפים את
VM_NAMEבשם המכונה הווירטואלית שרוצים להפסיק.מנקים את ההעדפות של הצומת מהמכונה הווירטואלית כדי שאפשר יהיה להעביר אותה למארח של דירות שותפים.
gcloud compute instances set-scheduling VM_NAME --clear-node-affinities
מחליפים את
VM_NAMEבשם של המכונה הווירטואלית שרוצים להסיר ממנה את ההעדפות של הצמתים.מפעילים את המכונה הווירטואלית במארח עם כמה דיירים.
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": [] }מחליפים את מה שכתוב בשדות הבאים:
PROJECT_IDמזהה הפרויקט שמכיל את המכונה הווירטואלית שרוצים להעבירהאזור ב-
ZONEשבו נמצא הפרויקטVM_NAMEשם המכונה הווירטואלית שממנה רוצים לנקות את ההעדפות של הצמתים
מפעילים את המכונה הווירטואלית במארח עם כמה דיירים. למידע נוסף על הפקודה הזו, ראו instances.start.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_IDמזהה הפרויקט שמכיל את המכונה הווירטואלית שרוצים להפעילהאזור ב-
ZONEשבו נמצא הפרויקט
VM_NAMEשם המכונה הווירטואלית להפעלה
המאמרים הבאים
- לפני שמזיזים מכונות וירטואליות לשרתים לדייר יחיד, כדאי לקרוא על תמחור של שרתים לדייר יחיד.
- שימוש ברישיונות קיימים
- שאלות נפוצות על רישיונות של מיקרוסופט
- איך מעבירים תמונות עם רישיונות קיימים אלGoogle Cloud
- איך משנים את קבוצות השרתים לדייר יחיד (sole-tenant) באמצעות התאמה אוטומטית לעומס