ציון תמונת מערכת ההפעלה של מכונה וירטואלית למשימה

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

מידע נוסף על תמונות של מערכות הפעלה של מכונות וירטואליות ועל תמונות של מערכות הפעלה של מכונות וירטואליות שבהן אפשר להשתמש זמין במאמר סקירה כללית של סביבת מערכת ההפעלה של מכונות וירטואליות.

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

  1. אם עוד לא השתמשתם ב-Batch, כדאי לעיין במאמר תחילת העבודה עם Batch ולהפעיל את Batch על ידי השלמת הדרישות המוקדמות לפרויקטים ולמשתמשים.
  2. כדי לקבל את ההרשאות שדרושות ליצירת משימה, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

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

    יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

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

כדי לציין את תמונת מערכת ההפעלה של מכונת ה-VM כשיוצרים עבודה, בוחרים אחת מהשיטות הבאות:

  • שימוש בתבנית של הגדרות מכונה ב-Compute Engine שמציינת קובץ אימג' של מערכת ההפעלה של מכונה וירטואלית. אם רוצים להשתמש בתבנית של הגדרות מכונה כשיוצרים את העבודה הזו, צריך לציין את קובץ אימג' של מערכת ההפעלה של המכונה הווירטואלית בתבנית של הגדרות מכונה. הוראות מפורטות זמינות במאמר הגדרת משאבי עבודה באמצעות תבנית של הגדרות מכונה.
  • משתמשים בשדה של תמונת מערכת ההפעלה של ה-VM. כפי שמוסבר בהוראות הבאות, אפשר לציין את קובץ אימג' של מערכת ההפעלה של מכונת ה-VM בשדה image באמצעות ה-CLI של gcloud או Batch API.

gcloud

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

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

    {
        "taskGroups": [
            {
                "taskSpec": {
                    "runnables": [
                        {
                            "script": {
                                "text": "echo Hello world from task ${BATCH_TASK_INDEX}."
                            }
                        }
                    ]
                },
                "taskCount": 3,
                "parallelism": 1
            }
        ],
        "allocationPolicy": {
          "instances": [
            {
              "policy": {
                "bootDisk": {
                  "image": "VM_OS_IMAGE_URI"
                }
              }
            }
          ]
        },
        "logsPolicy": {
        "destination": "CLOUD_LOGGING"
      }
    }
    

    מחליפים את VM_OS_IMAGE_URI בשם משאב יחסי של תמונת מערכת ההפעלה של המכונה הווירטואלית. אפשר לבחור באחת מהאפשרויות הבאות:

    • מציינים תחילית של מערכת הפעלה של Batch. כדי להשתמש בתמונה העדכנית של מערכת הפעלה ספציפית של Batch, משתמשים בפורמט הבא:

      BATCH_OS_PREFIX
      

      מחליפים את BATCH_OS_PREFIX באחת מתחיליות של תמונות מערכת הפעלה של מכונות וירטואליות ב-Batch – לדוגמה, batch-debian היא התחילית של מערכת ההפעלה Batch Debian.

    • מציינים משפחת תמונות. כדי להשתמש בתמונה העדכנית ביותר ממשפחת תמונות ספציפית, צריך להשתמש בפורמט הבא:

      projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
      

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

    • מציינים גרסת תמונה. כדי להשתמש בגרסה ספציפית של תמונת מערכת הפעלה של מכונת VM, משתמשים בפורמט הבא:

      projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
      

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

  2. כדי ליצור את העבודה, מריצים את הפקודה gcloud batch jobs submit הבאה:

    gcloud batch jobs submit JOB_NAME \
        --location LOCATION \
        --config JSON_CONFIGURATION_FILE
    

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

    • JOB_NAME: השם של המשימה.
    • LOCATION: המיקום של המשרה.
    • JSON_CONFIGURATION_FILE: הנתיב לקובץ ה-JSON עם פרטי ההגדרות של העבודה.

API

כדי ליצור משימה באמצעות Batch API, משתמשים בשיטה jobs.create ומציינים את פרטי ההגדרה של המשימה. כדי לציין את תמונת מערכת ההפעלה של המכונה הווירטואלית עבור העבודה, צריך לכלול את image השדה. לדוגמה, כדי ליצור עבודת סקריפט בסיסית שמשתמשת באימג' ספציפי של מערכת הפעלה של מכונה וירטואלית, שולחים את בקשת POST הבאה:

POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME

{
    "taskGroups": [
        {
            "taskSpec": {
                "runnables": [
                    {
                        "script": {
                            "text": "echo Hello world from task ${BATCH_TASK_INDEX}."
                        }
                    }
                ]
            },
            "taskCount": 3,
            "parallelism": 1
        }
    ],
    "allocationPolicy": {
      "instances": [
        {
          "policy": {
            "bootDisk": {
              "image": "VM_OS_IMAGE_URI"
            }
          }
        }
      ]
    },
    "logsPolicy": {
    "destination": "CLOUD_LOGGING"
  }
}

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

  • PROJECT_ID: מזהה הפרויקט שלכם.
  • LOCATION: המיקום של המשרה.
  • JOB_NAME: השם של המשימה.
  • VM_OS_IMAGE_URI: שם משאב יחסי של קובץ אימג' של מערכת ההפעלה של המכונה הווירטואלית. אפשר לבחור באחת מהאפשרויות הבאות:

    • מציינים תחילית של מערכת הפעלה של Batch. כדי להשתמש בתמונה העדכנית של מערכת הפעלה ספציפית של Batch, משתמשים בפורמט הבא:
    BATCH_OS_PREFIX
    

    מחליפים את BATCH_OS_PREFIX באחת מתחיליות של תמונות מערכת הפעלה של מכונות וירטואליות ב-Batch – לדוגמה, batch-debian היא התחילית של מערכת ההפעלה Batch Debian.

    • מציינים משפחת תמונות. כדי להשתמש בתמונה העדכנית ביותר ממשפחת תמונות ספציפית, צריך להשתמש בפורמט הבא:

      projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
      

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

    • מציינים גרסת תמונה. כדי להשתמש בגרסה ספציפית של תמונת מערכת הפעלה של מכונת VM, משתמשים בפורמט הבא:

      projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
      

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

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