העברה פעילה ידנית של מכונות וירטואליות

כדי להעביר מכונות וירטואליות של דיירים יחידים לצומת או לקבוצת צמתים אחרת, אתם יכולים להתחיל באופן ידני מיגרציה פעילה. אפשר גם להפעיל באופן ידני מיגרציה פעילה כדי להעביר מכונה וירטואלית עם כמה דיירים לדייר יחיד. במאמר העברת מכונה וירטואלית מחוץ לדייר יחיד מוסבר איך מעבירים מכונה וירטואלית מחוץ לדייר יחיד.

לפני שמתחילים

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    gcloud

    1. התקינו את ה-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 .

מגבלות קצב של API

בקשות למיגרציה פעילה ידנית מסווגות בשאילתות מגבלת קצב בקשות ל-API.

העברה ידנית של מכונות וירטואליות במיגרציה פעילה לתוך או בתוך השכרה בלעדית

כדי להעביר באופן ידני מכונות וירטואליות במיגרציה חיה אל או בתוך דייר יחיד, צריך להשתמש ב-CLI של gcloud או ב-REST.

אם היעד של ה-VM הוא קבוצת צמתים, Compute Engine בוחר את הצומת בקבוצה שיש בו מספיק מקום ל-VM וגם את כמות הקיבולת הפנויה הקטנה ביותר.

אי אפשר לבצע מיגרציה פעילה בין פרויקטים כשמשתמשים בקבוצות משותפות של שרתי דייר יחיד (sole-tenant).

ההרשאות שנדרשות למשימה הזו

כדי לבצע את המשימה הזו נדרשות ההרשאות הבאות:

  • הרשאות compute.instances.update ב-VM.

gcloud

כדי לבצע מיגרציה פעילה של מכונות וירטואליות באופן ידני לתוך או בתוך סביבת sole-tenancy, משתמשים בפקודה gcloud compute instances update הבאה:

gcloud compute instances update VM_NAME \
    ( --node=NODE \
      --node-group=NODE_GROUP \
      --node-affinity-file=NODE_AFFINITY_FILE )

מחליפים את מה שכתוב בשדות הבאים:

  • ‫VM_NAME: השם של המכונה הווירטואלית שרוצים לעדכן את תוויות השיוך לצומת שלה.

מחליפים בדיוק אחד מהערכים הבאים:

  • ‫NODE: השם של הצומת שאליו רוצים לבצע מיגרציה פעילה של המכונה הווירטואלית.

  • ‫NODE_GROUP: השם של קבוצת הצמתים שאליה רוצים להעביר את המכונה הווירטואלית במיגרציה פעילה.

  • ‫NODE_AFFINITY_FILE: השם של קובץ JSON שמכיל הגדרה של צמתים שבהם אפשר לתזמן את המכונה הווירטואלית הזו. מידע נוסף זמין במאמר הגדרת תוויות של זיקה לצומת.

REST

כדי להעביר באופן ידני מכונות וירטואליות במיגרציה פעילה אל תוך או בתוך שכירות בלעדית, משתמשים בשיטה instances.update:

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

{
  ...
  "scheduling": {
    "nodeAffinities": [
      {
        "key": "NODE_AFFINITY_LABEL_KEY",
        "operator": "IN",
        "values": [
          "NODE_AFFINITY_LABEL_VALUE"
        ]
      }
    ]
  }
  ...
}

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט שכולל את ה-VM שרוצים לעדכן את תוויות השיוך לצומת שלו.

  • ‫ZONE: האזור של המכונה הווירטואלית שצריך לעדכן את תוויות ההצמדה שלה לצומת.

  • ‫VM_NAME: השם של המכונה הווירטואלית שרוצים לעדכן את תוויות השיוך לצומת שלה.

  • ‫NODE_AFFINITY_LABEL_KEY: אחת מהמחרוזות הבאות שמציינת אם לבצע מיגרציה פעילה של המכונה הווירטואלית (VM) לקבוצת צמתים או לצומת:

    יעד ה-VM מפתח לציון
    קבוצת צמתים compute.googleapis.com/node-group-name
    צומת compute.googleapis.com/node-name
  • ‫NODE_AFFINITY_LABEL_VALUE: השם של קבוצת הצמתים או הצומת שאליו רוצים להעביר את המכונה הווירטואלית במיגרציה פעילה.

המאמרים הבאים