בדף הזה מוסבר איך מציינים את תמונת מערכת ההפעלה (OS) של המכונות הווירטואליות (VM) שבהן מופעלת משימה. אם אתם רוצים להתאים אישית גם מאפיינים אחרים של דיסקי האתחול של העבודה, כדאי לעיין במאמר יצירה והפעלה של עבודה שמשתמשת בדיסקי אתחול מותאמים אישית.
מידע נוסף על תמונות של מערכות הפעלה של מכונות וירטואליות ועל תמונות של מערכות הפעלה של מכונות וירטואליות שבהן אפשר להשתמש זמין במאמר סקירה כללית של סביבת מערכת ההפעלה של מכונות וירטואליות.
לפני שמתחילים
- אם עוד לא השתמשתם ב-Batch, כדאי לעיין במאמר תחילת העבודה עם Batch ולהפעיל את Batch על ידי השלמת הדרישות המוקדמות לפרויקטים ולמשתמשים.
-
כדי לקבל את ההרשאות שדרושות ליצירת משימה, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- הכלי לעריכת משימות באצווה (
roles/batch.jobsEditor) בפרויקט - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בחשבון השירות של המשימה, שמוגדר כברירת מחדל כחשבון השירות של Compute Engine שמוגדר כברירת מחדל
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
- הכלי לעריכת משימות באצווה (
יצירה והרצה של משימה שמשתמשת באימג' ספציפי של מערכת הפעלה של מכונה וירטואלית
כדי לציין את תמונת מערכת ההפעלה של מכונת ה-VM כשיוצרים עבודה, בוחרים אחת מהשיטות הבאות:
- שימוש בתבנית של הגדרות מכונה ב-Compute Engine שמציינת קובץ אימג' של מערכת ההפעלה של מכונה וירטואלית. אם רוצים להשתמש בתבנית של הגדרות מכונה כשיוצרים את העבודה הזו, צריך לציין את קובץ אימג' של מערכת ההפעלה של המכונה הווירטואלית בתבנית של הגדרות מכונה. הוראות מפורטות זמינות במאמר הגדרת משאבי עבודה באמצעות תבנית של הגדרות מכונה.
משתמשים בשדה של תמונת מערכת ההפעלה של ה-VM. כפי שמוסבר בהוראות הבאות, אפשר לציין את קובץ אימג' של מערכת ההפעלה של מכונת ה-VM בשדה
imageבאמצעות ה-CLI של gcloud או Batch API.
gcloud
יוצרים קובץ 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מחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_PROJECT_ID: מזהה הפרויקט שמכיל את התמונה. לדוגמה, אם רוצים להגדיר את כל התמונות בחבילה, מצייניםbatch-custom-image. -
IMAGE_FAMILY: משפחת התמונות, שכוללת תמונה ספציפית אחת או יותר ומייצגת את הסוג ואת הגרסה הראשית של מערכת ההפעלה. לדוגמה, כדי לראות את כל משפחות התמונות של מערכות ההפעלה של מכונות וירטואליות מ-Batch, אפשר לראות רשימה של תמונות של מערכות הפעלה של מכונות וירטואליות.
-
מציינים גרסת תמונה. כדי להשתמש בגרסה ספציפית של תמונת מערכת הפעלה של מכונת VM, משתמשים בפורמט הבא:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_PROJECT_ID: מזהה הפרויקט שמכיל את התמונה. לדוגמה, אם רוצים להגדיר את כל התמונות בחבילה, מצייניםbatch-custom-image. -
IMAGE_NAME: שם התמונה, שמייצג גרסה ספציפית של תמונת מערכת הפעלה של מכונה וירטואלית. לדוגמה, כדי לראות את כל הגרסאות של תמונות מערכת ההפעלה של מכונות וירטואליות מ-Batch, צופים ברשימה של תמונות מערכת ההפעלה של מכונות וירטואליות.
-
כדי ליצור את העבודה, מריצים את הפקודה
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מחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_PROJECT_ID: מזהה הפרויקט שמכיל את התמונה. לדוגמה, אם רוצים להגדיר את כל התמונות בחבילה, מצייניםbatch-custom-image. -
IMAGE_FAMILY: משפחת התמונות, שכוללת תמונה ספציפית אחת או יותר ומייצגת את הסוג ואת הגרסה הראשית של מערכת ההפעלה. לדוגמה, כדי לראות את כל משפחות התמונות של מערכות ההפעלה של מכונות וירטואליות מ-Batch, אפשר לראות רשימה של תמונות של מערכות הפעלה של מכונות וירטואליות.
-
מציינים גרסת תמונה. כדי להשתמש בגרסה ספציפית של תמונת מערכת הפעלה של מכונת VM, משתמשים בפורמט הבא:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_PROJECT_ID: מזהה הפרויקט שמכיל את התמונה. לדוגמה, אם רוצים להגדיר את כל התמונות בחבילה, מצייניםbatch-custom-image. -
IMAGE_NAME: שם התמונה, שמייצג גרסה ספציפית של תמונת מערכת הפעלה של מכונה וירטואלית. לדוגמה, כדי לראות את כל הגרסאות של תמונות מערכת ההפעלה של מכונות וירטואליות מ-Batch, צופים ברשימה של תמונות מערכת ההפעלה של מכונות וירטואליות.
-
המאמרים הבאים
- אם נתקלתם בבעיות ביצירה או בהפעלה של משימה, תוכלו להיעזר בפתרון בעיות.
- מידע נוסף על תמונות של מערכות הפעלה של מכונות וירטואליות
- מידע נוסף על יצירת משרה
- איך רואים את העבודות והמשימות?