יצירת סביבות להרצת תהליכים

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

מידע על סביבות של רצים

לכל סביבת פריסה צריכה להיות סביבת הפעלה. ‫Managed Airflow הוא מנוע התזמור שמריץ את צינורות הנתונים אחרי שהם נפרסים. סביבת הרצה היא סביבת Airflow מנוהלת שהקציתם לסביבת הפריסה שלכם.

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

  • נכון לעכשיו, ה-Runner היחיד שזמין ל-Orchestration Pipelines ב-Google Cloud הוא Managed Service for Apache Airflow. כל המכסות והמגבלות של המערכת חלות על Managed Airflow. מידע נוסף על העלויות של סביבת runner זמין במאמר בנושא תמחור של Managed Airflow.

  • אפשר להריץ Orchestration Pipelines בסביבות הפעלה של Managed Airflow (דור 3) ושל (דור 2). ב-Managed Airflow (דור 3), אפשר להשתמש ב-Airflow 3 וב-Airflow 2.

  • חבילות Orchestration Pipelines מותקנות מראש ב-Managed Airflow החל מהגרסאות הבאות:

    • composer-3-airflow-3.1.7-build.5
    • composer-3-airflow-2.11.1-build.1, composer-3-airflow-2.10.5-build.34 וגם composer-3-airflow-2.9.3-build.54
    • composer-2.16.11-airflow-2.11.1, composer-2.16.11-airflow-2.10.5

    אם אתם משתמשים בגרסה קודמת של Managed Airflow, אתם יכולים להתקין את חבילת orchestration-pipelines מ-PyPI באופן ידני.

  • הזמן המשוער ליצירת סביבת Managed Airflow הוא 25 דקות.

  • אפשר ליצור סביבות Managed Airflow בGoogle Cloud מסוף, ב-CLI של gcloud וב-Terraform. במדריך הזה מוצגות רק פקודות של ה-CLI של gcloud. הוראות ודוגמאות לגישות אחרות זמינות במאמר יצירת סביבות במסמכי העזרה של Managed Airflow.

  • הגדרת ברירת המחדל שמופיעה במדריך הזה יוצרת סביבת Managed Airflow עם כתובת IP ציבורית. ‫Managed Airflow מספק הרבה יותר אפשרויות להגדרת רשת ואבטחה. מידע נוסף על דרכים שונות להגדרת סביבת הפעלה זמין במאמר יצירת סביבות בתיעוד של Managed Airflow.

בדיקת התפקידים הנדרשים ב-IAM

כדי לקבל את ההרשאות שדרושות ליצירת סביבות להרצת תהליכים בפרויקט, צריך לבקש מהאדמין להקצות לכם את התפקידים הבאים:

  • תפקיד אדמין של סביבה ואובייקט אחסון (composer.environmentAndStorageObjectAdmin) ותפקיד משתמש בחשבון שירות (iam.serviceAccountUser) כדי ליצור ולנהל סביבות ב-Managed Service for Apache Airflow ולנהל אובייקטים בדליים שמשויכים לסביבות האלה. מידע נוסף על תפקידי המשתמשים האלה זמין במאמר הענקת תפקידים למשתמשים במסמכי העזרה של Managed Service for Apache Airflow.

הפעלת Cloud Composer API וממשקי API לפעולות

  1. הפעלת Cloud Composer API. לרשימה המלאה של השירותים שבהם נעשה שימוש ב-Managed Airflow
  2. מפעילים ממשקי API לשירותים שרוצים להשתמש בהם (כמו Dataproc API). Google Cloud

יצירת חשבון שירות חדש לסביבת ה-Runner והענקת תפקידים ב-IAM

חשבון השירות של סביבת ה-Runner משמש ליצירת סביבה חדשה של Managed Service for Apache Airflow ולהרצת כל צינורות העיבוד של התזמור שפורסים בה.

צריך לבקש מהאדמין לבצע את הפעולות הבאות:

  1. יוצרים חשבון שירות חדש כמו שמתואר במסמכי התיעוד של ניהול הזהויות והרשאות הגישה (IAM).

  2. מקצים לו את התפקיד Composer Worker‏ (composer.worker). ברוב המקרים, התפקיד הזה מספק את קבוצת ההרשאות הנדרשת.

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

  3. אם רוצים להשתמש בסביבת Managed Airflow (דור שני), צריך לפעול לפי ההוראות במאמר הענקת ההרשאות הנדרשות לחשבון השירות של Managed Airflow כדי להעניק הרשאות נוספות.

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

    לדוגמה, אם צינור הנתונים משתמש בפעולה שמופעלת באשכול זמני של Managed Service for Apache Spark, לחשבון השירות של סביבת ההפעלה צריכות להיות הרשאות ליצירה ולמחיקה של אשכול Managed Service for Apache Spark, וגם להפעלת משימות של Managed Service for Apache Spark ולניהול שלהן. בנוסף, צריך להפעיל את Dataproc API.

יצירת סביבה של Managed Service for Apache Airflow

יוצרים סביבה של Managed Service for Apache Airflow, תוך התחשבות בנקודות הבאות.

  • שם הסביבה: כל שם. תשתמשו בשם הזה בהמשך כדי [לפרוס][op-deploy] את צינורות העיבוד. דוגמה: example-runner
  • גרסת התמונה: הגרסה של Managed Service for Apache Airflow ו-Airflow שבה רוצים להשתמש. ב-CLI של gcloud, אפשר להשתמש בכינוי שמפנה לגרסת ברירת המחדל, למשל composer-3-airflow-3 או composer-2-airflow-2.
  • מיקום: כל מיקום. דוגמה: us-central1
  • חשבון שירות: חשבון שירות שיצרתם עבור הסביבה הזו.

דוגמה לפקודה ב-CLI של gcloud:

gcloud composer environments create example-runner \
  --location us-central1 \
  --image-version composer-3-airflow-3 \
  --service-account "example-account@example-project.iam.gserviceaccount.com"

דוגמה להגדרת עומסי עבודה מומלצים לתצוגה מקדימה (תמיד אפשר להגדיל או להקטין את עומסי העבודה בהמשך):

gcloud composer environments create example-runner \
  --location us-central1 \
  --image-version composer-3-airflow-3 \
  --service-account "example-account@example-project.iam.gserviceaccount.com" \
  --scheduler-cpu 2 \
  --scheduler-memory 8GB \
  --dag-processor-cpu 4 \
  --dag-processor-memory 8GB \
  --worker-cpu 4 \
  --worker-memory 8GB

יצירת סביבת Managed Airflow נמשכת כ-25 דקות.

(אופציונלי) התקנת חבילת Orchestration Pipelines מ-PyPI

‫Orchestration Pipelines תלוי בorchestration-pipelines חבילת PyPI. כברירת מחדל, החבילה הזו כבר מותקנת מראש בסביבת ההפעלה.

אם אתם משתמשים בגרסה קודמת של Managed Airflow שבה החבילה הזו לא מותקנת מראש, או אם אתם רוצים להתקין גרסה אחרת של החבילה, אתם יכולים להתקין את החבילה הזו מ-PyPI.

דוגמה:

gcloud composer environments update example-runner \
    --location us-central1 \
    --update-pypi-package "orchestration-pipelines>=0.11.1"

מידע נוסף על התקנת חבילות PyPI בסביבת ה-Runner ודוגמאות להתקנה במסוף Google Cloud וב-Terraform זמין במאמר Install Python dependencies (התקנת תלות של Python) במסמכי התיעוד של Managed Service for Apache Airflow.

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

  • מוסיפים את סביבת ה-Runner אל [הגדרת הפריסה][op-deploy].