בדף הזה מוסבר איך להתחיל להשתמש ב-Batch for Google Cloud.
סקירה כללית
Batch הוא שירות שמנוהל במלואו שמאפשר לתזמן, להוסיף לתור ולהפעיל עומסי עבודה של עיבוד באצווה במשאבי Google Cloud . לדוגמה, כדאי להשתמש ב-Batch למחשוב עתיר ביצועים (HPC), ללמידת מכונה (ML) ולעומסי עבודה של עיבוד נתונים. Batch מקצה משאבים ומנהל את הקיבולת בשמכם, וכך מאפשר לעומסי העבודה שלכם באצווה לפעול בהיקף גדול.
כשמשתמשים ב-Batch, לא צריך להגדיר ולנהל מתזמני משימות של צד שלישי, להקצות משאבים ולבטל את ההקצאה שלהם, או לבקש משאבים בכל אזור בנפרד. כדי להריץ משימה, מציינים פרמטרים למשאבים שנדרשים לעומס העבודה, ואז Batch מקבל משאבים ומכניס את המשימה לתור לביצוע. Batch מספק שילוב מקורי עם שירותים אחרים של Google Cloud כדי לעזור בתזמון, בהפעלה, באחסון ובניתוח של משימות באצווה, כך שתוכלו להתמקד בשליחת משימה ובצריכת התוצאות.
ה-Batch מורכב מהרכיבים הבאים:
משימה (Job): תוכנית מתוזמנת שמריצה קבוצה של משימות עד לסיום, ללא אינטראקציה של המשתמש, בדרך כלל עבור עומסי עבודה חישוביים. לדוגמה, עבודה יכולה להיות סקריפט מעטפת יחיד או חישוב מורכב עם כמה חלקים.
באופן ספציפי, משימה באצווה מייצגת מערך של משימה אחת או יותר, ואת הסביבה שבה המשימות האלה יפעלו. מגדירים את התוכנית של העבודה כרצף של פריט אחד או יותר שאפשר להפעיל. כל משימה מריצה את רצף הרכיבים הניתנים להרצה במשאבים של הג'וב. אפשר להגדיר את המשימות של עבודה כך שיפעלו במקביל או ברצף.
משימה: ביצוע אחד של רצף של קבצים להרצה של משימה. אם יש לעבודה כמה משימות, צריך לציין איך רוצים שכל הרצה תשתנה על ידי הפניה למשתנה הסביבה של אינדקס המשימה בקובצי ההפעלה של העבודה.
ניתן להפעלה: סקריפט או קונטיינר שניתן להפעלה, שמוגדר כחלק מעבודה.
משאבים: התשתית שנדרשת להרצת משימה. לפחות, צריך לציין את משאבי המחשוב הנדרשים לכל משימה: ליבות CPU, זיכרון ואחסון נוסף בדיסק האתחול (אם נדרש). אופציונלי, אפשר גם לציין אפשרויות אחרות של משאבים לעבודה. מערכת Batch יוצרת ומוחקת באופן אוטומטי את המשאבים שעומדים בדרישות שלכם במהלך זמן הריצה של העבודה.
כלומר, כל משימת Batch פועלת בקבוצה אזורית של מופעי מכונה מנוהלים (MIG), שהיא קבוצה של מופע אחד או יותר של מכונה וירטואלית (VM) תואמת של Compute Engine, שכל אחד מהם ממוקם באחד מהתחומים הכלולים. לכל מכונה וירטואלית יש חומרה ייעודית לליבות CPU ולזיכרון – שמשפיעים על הביצועים של העבודה – ודיסק אתחול – שבו מאוחסן קובץ אימג' של מערכת הפעלה (OS) והוראות להפעלת העבודה. אם מצוין, יכול להיות שעבודה תכלול גם משאבים נוספים או תהיה לה גישה למשאבים נוספים – לדוגמה, יחידות GPU או נפחי אחסון חיצוניים. מספר מכונות ה-VM שמוקצות לעבודה תלוי בדרישות החומרה ובאפשרויות התזמון של המשימות שאתם מציינים.
לסיכום, Batch מאפשר ליצור ולהריץ משימות שכל אחת מהן מקצה באופן אוטומטי את המשאבים שנדרשים לביצוע המשימות שלה, ומשתמש בהם.
מידע נוסף על התנהגות המשימות והאפשרויות שלהן זמין במאמר סקירה כללית על יצירה והפעלה של משימות.
תמחור
אין עלות נוספת לשימוש ב-Batch. החיוב מתבצע רק על העלות של משאבי הבסיס שנדרשים להרצת העבודות.
מידע נוסף על העלויות שקשורות ל-Batch ועל סינון דוחות החיוב ב-Cloud כדי לראות את העלויות של Batch זמין במאמר בנושא תמחור.
הגבלות
ההגבלות הבאות חלות על Batch:
- אסור לחרוג מהמכסות והמגבלות של Batch בפרויקט.
- בעבודות אפשר להשתמש רק בסוגי מכונות מסדרות המכונות הבאות:
- לשימוש כללי: C4, C4A, C4D, C3, C3D, E2, N4, N2D, N2, N1 ו-T2D
- מותאמות לצריכת מעבד גבוהה (compute-optimized): C2, C2D ו-H3
- מותאמת לצריכת זיכרון גבוהה (memory-optimized): M3, M2 ו-M1
- אופטימיזציה למעבד גרפי: A4, A3 Ultra, A3 Mega, A3 High, A2, G4 ו-G2
- אפשר לציין רק סוג מכונה אחד לכל משימה. הסוג יכול להיות מוגדר מראש או בהתאמה אישית.
- אי אפשר לציין יותר מקבוצת משימות אחת לכל עבודה. לכל המשרות יש רק קבוצת משימות אחת בשם
group0.
דרישות מוקדמות
כדי להתחיל להשתמש ב-Batch, צריך לעמוד בדרישות המוקדמות הבאות:
- אם לא השתמשתם ב-Batch בפרויקט שלכם, צריך להפעיל את Batch בפרויקט.
- מגדירים את Batch לכל משתמש חדש.
הפעלת Batch בפרויקט
כדי להתחיל להשתמש ב-Batch בפרויקט, מבצעים את הפעולות הבאות:
בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב- Google Cloud או יוצרים אותו.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
מוודאים ש-Batch מופעל בפרויקט:
מפעילים את ממשקי ה-API של Batch, Compute Engine ו-Cloud Logging.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםמוודאים שלפרויקט יש חשבונות שירות עם ההרשאות הנדרשות ליצירה ולגישה למשאבים להרצת משימות Batch.
חשוב לדעת: כדי לאפשר למשתמשים ליצור ולהריץ משימות Batch בפרויקט, צריך לתת להם הרשאה להשתמש באחד מחשבונות השירות האלה. לכן, אל תבחרו חשבונות שירות שיש להם יותר הרשאות ממה שאתם רוצים להעניק למשתמשים האלה.
חשבון השירות שכל עבודה משתמשת בו כברירת מחדל הוא חשבון השירות של Compute Engine שמוגדר כברירת מחדל, אבל אפשר גם להגדיר חשבון שירות אחר לשימוש בעבודה.
אלא אם אתם מתכננים להשתמש רק בהגדרת ברירת המחדל של חשבונות השירות של העבודה, צריך להקצות את תפקידי ה-IAM הבאים לכל חשבונות השירות שהפרויקט משתמש בהם לעבודות Batch.
- Batch Agent Reporter (
roles/batch.agentReporter) בפרויקט - כדי לאפשר למשימות ליצור יומנים ב-Cloud Logging: Logs Writer (
roles/logging.logWriter) בפרויקט
יכול להיות שחשבון השירות שבו אתם משתמשים למשימה יזדקק גם לתפקידים נוספים, בהתאם לאפשרויות ההגדרה שבהן אתם רוצים להשתמש למשימות. כדי לדעת אם נדרשות הרשאות נוספות, אפשר לעיין במסמכי התיעוד של כל משימה. מידע נוסף על מתן תפקידים לחשבונות שירות זמין במאמרים הגבלת חשבונות שירות וניהול הגישה לחשבונות שירות.
- Batch Agent Reporter (
חשוב להכיר את סוכן שירות Batch של הפרויקט:
אחרי שיוצרים משימה באצווה, סוכן השירות של Batch נוצר באופן אוטומטי עבור הפרויקט עם השם הבא:
service-PROJECT_NUMBER@gcp-sa-cloudbatch.iam.gserviceaccount.comמחליפים את
PROJECT_NUMBERבמספר הפרויקט של הפרויקט.לסוכן השירות של Batch מוקצה אוטומטית תפקיד ה-IAM Google Batch Service Agent (
roles/batch.serviceAgent). ההגדרה הזו נדרשת כדי להשתמש ב-Batch בפרויקט.עם זאת, במקרים מסוימים – למשל, הפעלת משימה ברשת VPC משותפת – צריך להעניק הרשאות נוספות לסוכן השירות של Batch בפרויקט.
מידע נוסף זמין במאמר בנושא סוכני שירות.
הגדרת Batch למשתמש חדש
כדי להתחיל להשתמש ב-Batch בתור משתמש, צריך לבצע את הפעולות הבאות:
כדי לקבל את ההרשאות שנדרשות לשימוש ב-Batch, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הנדרשים בפרויקט. כדי לראות אילו הרשאות נדרשות לכל משימה, אפשר לעיין במסמכי התיעוד.
לדוגמה, אם רוצים להתחיל ללמוד איך להשתמש ב-Batch על ידי יצירת משימה בסיסית, כדאי לבקש תפקידים למשימות הבאות:
- כדי ליצור משרות:
- עורך משימות באצווה (
roles/batch.jobsEditor) בפרויקט - התפקיד 'משתמש בחשבון שירות' (
roles/iam.serviceAccountUser) בחשבון השירות של הג'וב, שהוא כברירת מחדל חשבון השירות של Compute Engine שמוגדר כברירת מחדל
- עורך משימות באצווה (
- כדי להציג ולתאר משימות: עריכת משימות באצווה (
roles/batch.jobsEditor) או צפייה במשימות באצווה (roles/batch.jobsViewer) בפרויקט - כדי להציג יומנים של משימות: מציג היומנים (
roles/logging.viewer) בפרויקט - כדי למחוק משימות: Batch Job Editor (
roles/batch.jobsEditor) בפרויקט
מידע נוסף על מתן תפקידים מופיע במאמר ניהול הגישה.
- כדי ליצור משרות:
כדי להשתמש בדוגמאות של פקודות ל-Batch, צריך להגדיר את Google Cloud CLI באופן הבא. מידע נוסף על אימות ב-Google Cloud CLI
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מומלץ: מגדירים פרויקט ברירת מחדל באמצעות הפקודה
gcloud config set project:gcloud config set project PROJECT_IDמחליפים את
PROJECT_IDבמזהה הפרויקט של הפרויקט.
אם רוצים להשתמש בדוגמאות ל-API או בדוגמאות לספריית לקוח של Batch, אפשר לעיין במאמר אימות ל-Batch.
פנייה לתמיכה
כדי לדון בנושא Batch עם הקהילה, אפשר להשתמש בתג Batch בפורומים של Google Developer Program.
אם נתקלתם בבעיות ב-Batch, תוכלו להיעזר בתיעוד בנושא פתרון בעיות.
כדי לקבל תמיכה או לשלוח משוב על Batch, אפשר להיעזר במקורות הבאים:
אם יש לכם בעיות בחיוב ב- Google Cloud, אתם יכולים לפנות אל התמיכה בנושאי חיוב.
אם יש לכם חבילת תמיכה בתשלום, אתם יכולים לפנות ישירות אל Google Cloud התמיכה אם נתקלתם בבעיות ב-Batch.
ב-Google Cloud יש חבילות תמיכה שונות שמתאימות לצרכים שונים, למשל תמיכה מסביב לשעון, תמיכה טלפונית ותמיכה ממנהל טכני. מידע נוסף זמין במאמר Google Cloud תמיכה.
כדי לשלוח משוב או בקשות להוספת תכונות ל-Batch, או כדי לדווח על בעיות ב-Batch בלי חבילת תמיכה בתשלום, לוחצים על הלחצן שליחת משוב, שמופיע בתחילת כל דף תיעוד של Batch ובסופו. לאחר מכן בוחרים באחת מהאפשרויות הבאות:
- כדי לשלוח משוב שקשור לתיעוד של Batch, בוחרים באפשרות 'משוב על התיעוד'.
- לכל משוב אחר על Batch, בוחרים באפשרות 'משוב על מוצר'.
המאמרים הבאים
מידע על מוצרים קשורים Google Cloud :