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

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

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

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

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

    gcloud

    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
  • הגדרת אזור ותחום כברירת מחדל
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

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

בקשות ידניות למיגרציה פעילה מסווגות בQueries API rate limit.

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

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

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

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

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

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

  • הרשאות compute.instances.update במכונה הווירטואלית.

gcloud

כדי להעביר מכונות וירטואליות באופן ידני לתוך או בתוך דיירות בלעדית, משתמשים בפקודה 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 המפתח שצריך לציין
    קבוצת צמתים compute.googleapis.com/node-group-name
    צומת compute.googleapis.com/node-name
  • NODE_AFFINITY_LABEL_VALUE: השם של קבוצת הצמתים או הצומת שאליהם תועבר המכונה הווירטואלית במיגרציה פעילה.

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