התאמת סביבות

Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)

בדף הזה מוסבר איך לשנות את גודל הסביבות של Managed Airflow.

דפים נוספים בנושא שינוי גודל:

שינוי גודל אנכי ואופקי

אפשרויות להרחבה אופקית:

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

אפשרויות להגדלה אנכית:

  • שינוי של פרמטרים של ביצועים וקנה מידה של worker,‏ scheduler,‏ triggerer ושרת אינטרנט.
  • משנים את גודל הסביבה.

מגבלות על משאבים

רכיב מספר מינימלי מספר מקסימלי מינימום vCPU מעבד וירטואלי מקסימלי vCPU minimum step זיכרון מינימלי (GB) זיכרון מקסימלי (GB) הצעד המינימלי של זיכרון (GB) זיכרון מינימלי לכל vCPU‏ (GB) הזיכרון המקסימלי לכל vCPU‏ (GB) נפח אחסון מינימלי (GB) נפח אחסון מקסימלי (GB) הצעד המינימלי של נפח האחסון (GB)
מתזמני בקשות 1 10 ‫0.5 28 0.25 ‫0.5 80 - 1 6.5 0.05 10 -
Triggerers 0 10 ‫0.5 1 0.25 ‫0.5 80 - 1 6.5 - - -
שרת אינטרנט - - ‫0.5 28 0.25 1 80 - 1 6.5 0.05 10 -
עובדים 1 100 ‫0.5 28 0.25 ‫0.5 80 - 1 6.5 0.05 10 -

הגדרות קבועות מראש של סביבה

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

מומלץ לבחור הגדרות קבועות מראש על סמך ההערכות הבאות:

  • המספר הכולל של DAG שתכננתם לפרוס בסביבה
  • מספר מקסימלי של הפעלות DAG בו-זמניות
  • מספר מקסימלי של משימות בו-זמניות

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

הגדרה קבועה מראש מומלצת סך כל תרשימי ה-DAG מספר מקסימלי של הפעלות DAG בו-זמניות מספר מקסימלי של משימות בו-זמניות
קטן 50 15 18
בינוני 250 60 100
גדול 1000 250 400

לדוגמה, סביבה צריכה להריץ 40 קובצי DAG. כל ה-DAGs צריכים לפעול באותו הזמן, וכל אחד מהם צריך לכלול משימה פעילה אחת. במקרה כזה, הסביבה תשתמש בהגדרה קבועה מראש של Medium, כי המספר המקסימלי של הרצות DAG מקבילות ומשימות חורג מהאומדנים המומלצים להגדרה קבועה מראש של Small.

שינוי הפרמטרים של העובדים

אתם יכולים להגדיר את מספר העובדים המינימלי והמקסימלי בסביבה שלכם. ‫Managed Airflow משנה את גודל הסביבה באופן אוטומטי במסגרת המגבלות שהוגדרו. אפשר לשנות את המגבלות האלה בכל שלב.

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

המסוף

  1. נכנסים לדף Environments במסוף Google Cloud .

    מעבר אל Environments

  2. ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.

  3. עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).

  4. בפריט Resources (משאבים) > Workloads configuration (הגדרת עומסי עבודה), לוחצים על Edit (עריכה).

  5. בחלונית Workloads configuration (הגדרת עומסי עבודה), משנים את הפרמטרים של Airflow workers:

    • בשדה Minimum number of workers (מספר מינימלי של עובדים), מציינים את מספר העובדים של Airflow שהסביבה צריכה להריץ תמיד. מספר העובדים בסביבה לא יירד מתחת למספר הזה במהלך הפעולה הרגילה של הסביבה, גם אם מספר נמוך יותר של עובדים יכול לטפל בעומס.

    • בשדה Maximum number of workers (מספר העובדים המקסימלי), מציינים את המספר המקסימלי של עובדי Airflow שהסביבה יכולה להריץ. מספר העובדים בסביבה לא יעלה על המספר הזה, גם אם נדרש מספר גבוה יותר של עובדים כדי לטפל בעומס.

    • בשדות CPU,‏ Memory ו-Storage, מציינים את מספר המעבדים, הזיכרון והאחסון של עובדי Airflow. כל עובד משתמש בכמות המשאבים שצוינה.

  6. לוחצים על Save.

gcloud

הפרמטרים הבאים של Airflow worker זמינים:

  • --min-workers: מספר העובדים של Airflow שהסביבה צריכה להריץ תמיד. מספר העובדים בסביבה לא יירד מתחת למספר הזה, גם אם מספר נמוך יותר של עובדים יכול להתמודד עם העומס.
  • --max-workers: המספר המקסימלי של עובדי Airflow שהסביבה יכולה להריץ. מספר העובדים בסביבה לא יעלה על המספר הזה, גם אם נדרש מספר גבוה יותר של עובדים כדי לטפל בעומס.
  • --worker-cpu: מספר יחידות ה-CPU של עובד Airflow.
  • --worker-memory: כמות הזיכרון של עובד Airflow.
  • --worker-storage: כמות שטח הדיסק לעובד של Airflow.

מריצים את הפקודה הבאה ב-Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --min-workers WORKERS_MIN \
  --max-workers WORKERS_MAX \
  --worker-cpu WORKER_CPU \
  --worker-memory WORKER_MEMORY \
  --worker-storage WORKER_STORAGE

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.
  • WORKERS_MIN: המספר המינימלי של עובדי Airflow.
  • WORKERS_MAX: המספר המקסימלי של עובדי Airflow.
  • WORKER_CPU: מספר יחידות ה-CPU של העובד, ביחידות vCPU.
  • WORKER_MEMORY: כמות הזיכרון של העובד.
  • WORKER_STORAGE: גודל הדיסק של העובד.

דוגמה:

gcloud composer environments update example-environment \
  --location us-central1 \
  --min-workers 2 \
  --max-workers 6 \
  --worker-cpu 1 \
  --worker-memory 2 \
  --worker-storage 2

API

  1. יוצרים בקשת API של environments.patch.

  2. בבקשה הזו:

    1. בפרמטר updateMask מציינים את השדות שרוצים לעדכן. לדוגמה, כדי לעדכן את כל הפרמטרים של העובדים, מציינים את המסכה config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount.

    2. בגוף הבקשה, מציינים את הפרמטרים החדשים של העובד.

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": WORKERS_MIN,
      "maxCount": WORKERS_MAX,
      "cpu": WORKER_CPU,
      "memoryGb": WORKER_MEMORY,
      "storageGb": WORKER_STORAGE
    }
  }
}

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.
  • WORKERS_MIN: המספר המינימלי של עובדי Airflow.
  • WORKERS_MAX: המספר המקסימלי של עובדי Airflow.
  • WORKER_CPU: מספר יחידות ה-CPU של העובד, ביחידות vCPU.
  • WORKER_MEMORY: כמות הזיכרון של העובד, ב-GB.
  • WORKER_STORAGE: גודל הדיסק של העובד, ב-GB.

דוגמה:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.worker.minCount,
// config.workloadsConfig.worker.maxCount
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGB

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": 2,
      "maxCount": 6,
      "cpu": 1,
      "memoryGb": 2,
      "storageGb": 2
    }
  }
}

Terraform

השדות הבאים בחסימה workloads_config.worker שולטים בפרמטרים של Airflow worker. כל עובד משתמש בכמות המשאבים שצוינה.

  • worker.min_count: מספר העובדים של Airflow שהסביבה צריכה להריץ תמיד. מספר העובדים בסביבה לא יירד מתחת למספר הזה, גם אם מספר נמוך יותר של עובדים יכול להתמודד עם העומס.
  • worker.max_count: המספר המקסימלי של עובדי Airflow שהסביבה יכולה להריץ. מספר העובדים בסביבה לא יעלה על המספר הזה, גם אם נדרש מספר גבוה יותר של עובדים כדי לטפל בעומס.
  • worker.cpu: מספר יחידות ה-CPU של עובד Airflow.
  • worker.memory_gb: כמות הזיכרון של עובד Airflow.
  • worker.storage_gb: כמות שטח האחסון לעובד של Airflow.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      worker {
        min_count = WORKERS_MIN
        max_count = WORKERS_MAX
        cpu = WORKER_CPU
        memory_gb = WORKER_MEMORY
        storage_gb = WORKER_STORAGE
      }
    }

  }
}

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.
  • WORKERS_MIN: המספר המינימלי של עובדי Airflow.
  • WORKERS_MAX: המספר המקסימלי של עובדי Airflow.
  • WORKER_CPU: מספר יחידות ה-CPU של העובד, ביחידות vCPU.
  • WORKER_MEMORY: כמות הזיכרון של העובד, ב-GB.
  • WORKER_STORAGE: גודל הדיסק של העובד, ב-GB.

דוגמה:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      worker {
        min_count = 2
        max_count = 6
        cpu = 1
        memory_gb = 2
        storage_gb = 2
      }
    }

  }
}

שינוי פרמטרים של מתזמן

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

אפשר להגדיר עד 10 מתזמנים בסביבה שלכם.

כשמגדילים את מספר המתזמנים, חשוב לקחת בחשבון את הנקודות הבאות:

  • הגדלת מספר המתזמנים לא תמיד משפרת את הביצועים של Airflow.

    לדוגמה, זה יכול לקרות כשלא נעשה שימוש במתזמן הנוסף, והוא צורך משאבים מהסביבה שלכם בלי לתרום לביצועים הכוללים. הביצועים בפועל של מתזמן המשימות תלויים במספר העובדים של Airflow, במספר ה-DAG והמשימות שפועלים בסביבה שלכם ובהגדרות של Airflow ושל הסביבה.

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

מידע נוסף על הגדרת מספר מתזמנים זמין במאמרי העזרה של Airflow.

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

המסוף

  1. נכנסים לדף Environments במסוף Google Cloud .

    מעבר אל Environments

  2. ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.

  3. עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).

  4. בפריט Resources (משאבים) > Workloads configuration (הגדרת עומסי עבודה), לוחצים על Edit (עריכה).

  5. בחלונית Workloads configuration (הגדרת עומסי עבודה), משנים את הפרמטרים של מתזמני Airflow:

    • בתפריט הנפתח מספר המתזמנים, בוחרים את מספר המתזמנים לסביבה שלכם.

    • בשדות CPU,‏ Memory ו-Storage, מציינים את מספר המעבדים, הזיכרון והאחסון עבור מתזמני Airflow. כל מתזמן משתמש בכמות המשאבים שצוינה.

  6. לוחצים על Save.

gcloud

הפרמטרים הבאים של מתזמן Airflow זמינים:

  • --scheduler-count: מספר המתזמנים בסביבה שלכם.

  • --scheduler-cpu: מספר יחידות העיבוד המרכזיות (CPU) של מתזמן Airflow.

  • --scheduler-memory: כמות הזיכרון לתזמון של Airflow.

  • --scheduler-storage: כמות שטח הדיסק לתזמון של Airflow.

מריצים את הפקודה הבאה ב-Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --scheduler-cpu SCHEDULER_CPU \
  --scheduler-memory SCHEDULER_MEMORY \
  --scheduler-storage SCHEDULER_STORAGE \
  --scheduler-count SCHEDULER_COUNT

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.

  • SCHEDULER_CPU: מספר יחידות העיבוד המרכזיות (CPU) של מתזמן, ביחידות vCPU.

  • SCHEDULER_MEMORY: כמות הזיכרון של מתזמן.

  • SCHEDULER_STORAGE: גודל הדיסק של מתזמן.

  • SCHEDULER_COUNT: מספר המתזמנים.

דוגמה:

gcloud composer environments update example-environment \
  --location us-central1 \
  --scheduler-cpu 0.5 \
  --scheduler-memory 2.5 \
  --scheduler-storage 2 \
  --scheduler-count 2

API

  1. יוצרים בקשת API של environments.patch.

  2. בבקשה הזו:

    1. בפרמטר updateMask, מציינים את המסכה config.workloadsConfig.scheduler כדי לעדכן את כל הפרמטרים של מתזמן הפגישות או רק את מספר המתזמנים. אפשר גם לעדכן פרמטרים ספציפיים של מתזמן, חוץ מ-count, על ידי ציון מסכה. לדוגמה, config.workloadsConfig.scheduler.cpu.

    2. בגוף הבקשה, מציינים את הפרמטרים החדשים של הכלי לתזמון.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": SCHEDULER_CPU,
      "memoryGb": SCHEDULER_MEMORY,
      "storageGb": SCHEDULER_STORAGE,
      "count": SCHEDULER_COUNT
    }
  }
}

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.

  • SCHEDULER_CPU: מספר יחידות העיבוד המרכזיות (CPU) של מתזמן, ביחידות vCPU.

  • SCHEDULER_MEMORY: כמות הזיכרון של מתזמן, בגיגה-בייט.

  • SCHEDULER_STORAGE: גודל הדיסק של מתזמן, ב-GB.

  • SCHEDULER_COUNT: מספר המתזמנים.

דוגמה:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.scheduler

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2,
      "count": 2
    }
  }
}

Terraform

השדות הבאים בבלוק workloads_config.scheduler שולטים בפרמטרים של מתזמן Airflow. כל מתזמן משתמש בכמות המשאבים שצוינה.

  • scheduler.count: מספר המתזמנים בסביבה שלכם.

  • scheduler.cpu: מספר יחידות העיבוד המרכזיות (CPU) של מתזמן Airflow.

  • scheduler.memory_gb: כמות הזיכרון לתזמון של Airflow.

  • scheduler.storage_gb: כמות שטח הדיסק עבור מתזמן.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      scheduler {
        cpu = SCHEDULER_CPU
        memory_gb = SCHEDULER_MEMORY
        storage_gb = SCHEDULER_STORAGE
        count = SCHEDULER_COUNT
      }
    }

  }
}

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.

  • SCHEDULER_CPU: מספר יחידות העיבוד המרכזיות (CPU) של מתזמן, ביחידות vCPU.

  • SCHEDULER_MEMORY: כמות הזיכרון של מתזמן, בגיגה-בייט.

  • SCHEDULER_STORAGE: גודל הדיסק של מתזמן, ב-GB.

  • SCHEDULER_COUNT: מספר המתזמנים.

דוגמה:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      scheduler {
        
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
        
        count = 2
      }
    }

  }
}

שינוי פרמטרים של הטריגר

אפשר להגדיר את מספר הטריגרים לאפס, אבל צריך לפחות מופע אחד של טריגר בסביבה (או לפחות שניים בסביבות עמידות במיוחד), כדי להשתמש באופרטורים שניתן לדחות ב-DAG.

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

  • חוסן רגיל: אפשר להריץ עד 10 מפעילים.
  • עמידות גבוהה: לפחות 2 מפעילים, עד מקסימום של 10 מפעילים.

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

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

המסוף

  1. נכנסים לדף Environments במסוף Google Cloud .

    מעבר אל Environments

  2. ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.

  3. עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).

  4. בפריט Resources (משאבים) > Workloads configuration (הגדרת עומסי עבודה), לוחצים על Edit (עריכה).

  5. בחלונית Workloads configuration משנים את הפרמטרים של Airflow triggerers:

    1. בקטע Triggerer, בשדה Number of triggerers, מזינים את מספר ה-triggerers בסביבה שלכם.

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

    2. בשדות CPU וMemory, מציינים את מספר המעבדים, הזיכרון והאחסון של מפעילים של Airflow. כל מפעיל משתמש בכמות המשאבים שצוינה.

  6. לוחצים על Save.

gcloud

הפרמטרים הבאים של Airflow triggerer זמינים:

  • --triggerer-count: מספר הטריגרים בסביבה שלכם.

    • בסביבות רגילות של עמידות, צריך להשתמש בערך בין 0 ל-10.
    • בסביבות עם חוסן גבוה, צריך להשתמש בערך 0 או בערך בין 2 ל-10.
  • --triggerer-cpu: מספר המעבדים של מפעיל Airflow.

  • --triggerer-memory: כמות הזיכרון של מפעיל Airflow.

מריצים את הפקודה הבאה ב-Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --triggerer-count TRIGGERER_COUNT \
  --triggerer-cpu TRIGGERER_CPU \
  --triggerer-memory TRIGGERER_MEMORY

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.
  • TRIGGERER_COUNT: מספר הטריגרים.
  • TRIGGERER_CPU: מספר יחידות ה-CPU של מפעיל, ביחידות vCPU.
  • TRIGGERER_MEMORY: כמות הזיכרון של מפעיל.

דוגמאות:

  • הגדלת מספר המופעים של מפעיל הטריגר לארבעה:
gcloud composer environments update example-environment \
  --location us-central1 \
  --triggerer-count 4 \
  --triggerer-cpu 1 \
  --triggerer-memory 1
  • כדי להשבית את הטריגרים, מגדירים את מספר הטריגרים ל-0. בפעולה הזו לא צריך לציין את המעבד או הזיכרון של הגורמים המפעילים.
gcloud composer environments update example-environment \
  --location us-central1 \
  --triggerer-count 0

API

  1. בפרמטר השאילתה updateMask, מציינים את מסכת config.workloadsConfig.triggerer.

  2. בגוף הבקשה, מציינים את כל שלושת הפרמטרים של הגורמים להפעלת התהליך.

"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": TRIGGERER_COUNT,
      "cpu": TRIGGERER_CPU,
      "memoryGb": TRIGGERER_MEMORY
    }
  }
}

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

  • TRIGGERER_COUNT: מספר הטריגרים.

    • בסביבות רגילות של עמידות, צריך להשתמש בערך בין 0 ל-10.
    • בסביבות עם חוסן גבוה, צריך להשתמש בערך 0 או בערך בין 2 ל-10.
  • TRIGGERER_CPU: מספר יחידות ה-CPU של מפעיל, ביחידות vCPU.

  • TRIGGERER_MEMORY: כמות הזיכרון של מפעיל.

דוגמאות:

  • כדי להשבית את הטריגרים, מגדירים את מספר הטריגרים ל-0. בפעולה הזו לא צריך לציין את המעבד או הזיכרון של הגורמים המפעילים.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 0
    }
  }
}
  • הגדלת מספר המופעים של מפעיל הטריגר לארבעה:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 4,
      "cpu": 1,
      "memoryGb": 1
    }
  }
}

Terraform

השדות הבאים בבלוק workloads_config.triggerer שולטים בפרמטרים של מפעיל Airflow. כל מפעיל משתמש בכמות המשאבים שצוינה.

  • triggerer.count: מספר הטריגרים בסביבה שלכם.

    • בסביבות רגילות של עמידות, צריך להשתמש בערך בין 0 ל-10.
    • בסביבות עם חוסן גבוה, צריך להשתמש בערך 0 או בערך בין 2 ל-10.
  • triggerer.cpu: מספר המעבדים של מפעיל Airflow.

  • triggerer.memory_gb: כמות הזיכרון לטריגר של Airflow.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      triggerer {
        count = TRIGGERER_COUNT
        cpu = TRIGGERER_CPU
        memory_gb = TRIGGERER_MEMORY
      }
    }

  }
}

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.
  • TRIGGERER_COUNT: מספר הטריגרים.
  • TRIGGERER_CPU: מספר יחידות ה-CPU של מפעיל, ביחידות vCPU.
  • TRIGGERER_MEMORY: כמות הזיכרון של מפעיל, בגיגה-בייט.

דוגמה:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      triggerer {
        count = 1
        cpu = 0.5
        memory_gb = 0.5
      }
    }

  }
}

שינוי פרמטרים של שרת אינטרנט

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

המסוף

  1. נכנסים לדף Environments במסוף Google Cloud .

    מעבר אל Environments

  2. ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.

  3. עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).

  4. בפריט Resources (משאבים) > Workloads configuration (הגדרת עומסי עבודה), לוחצים על Edit (עריכה).

  5. בחלונית Workloads configuration (הגדרת עומסי עבודה), משנים את הפרמטרים של שרת האינטרנט. בשדות מעבד, זיכרון ואחסון, מציינים את מספר המעבדים, הזיכרון והאחסון של שרת האינטרנט.

  6. לוחצים על Save.

gcloud

הפרמטרים הבאים של שרת האינטרנט של Airflow זמינים:

  • --web-server-cpu: מספר המעבדים של שרת האינטרנט של Airflow.
  • --web-server-memory: כמות הזיכרון לשרת האינטרנט של Airflow.
  • --web-server-storage: כמות שטח הדיסק לשרת האינטרנט של Airflow.

מריצים את הפקודה הבאה ב-Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --web-server-cpu WEB_SERVER_CPU \
  --web-server-memory WEB_SERVER_MEMORY \
  --web-server-storage WEB_SERVER_STORAGE

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.
  • WEB_SERVER_CPU: מספר יחידות ה-CPU לשרת האינטרנט, ביחידות vCPU.
  • WEB_SERVER_MEMORY: כמות הזיכרון לשרת האינטרנט.
  • WEB_SERVER_STORAGE: כמות הזיכרון של שרת האינטרנט.

דוגמה:

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-cpu 1 \
  --web-server-memory 2.5 \
  --web-server-storage 2

API

  1. יוצרים בקשת API של environments.patch.

  2. בבקשה הזו:

    1. בפרמטר updateMask, מציינים את config.workloadsConfig.webServer המסכה לעדכון כל הפרמטרים של שרת האינטרנט. אפשר גם לעדכן פרמטרים ספציפיים של שרת אינטרנט על ידי ציון מסכה לפרמטרים האלה: config.workloadsConfig.webServer.cpu, config.workloadsConfig.webServer.memoryGb, config.workloadsConfig.webServer.storageGb.

    2. בגוף הבקשה, מציינים את הפרמטרים החדשים של שרת האינטרנט.

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": WEB_SERVER_CPU,
      "memoryGb": WEB_SERVER_MEMORY,
      "storageGb": WEB_SERVER_STORAGE
    }
  }
}

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.
  • WEB_SERVER_CPU: מספר יחידות ה-CPU של שרת האינטרנט, ביחידות vCPU.
  • WEB_SERVER_MEMORY: כמות הזיכרון של שרת האינטרנט, בגיגה-בייט.
  • WEB_SERVER_STORAGE: גודל הדיסק של שרת האינטרנט, ב-GB.

דוגמה:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.webServer.cpu,
// config.workloadsConfig.webServer.memoryGb,
// config.workloadsConfig.webServer.storageGb

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

השדות הבאים בבלוק workloads_config.web_server שולטים בפרמטרים של שרת האינטרנט.

  • web_server.cpu: מספר המעבדים של שרת האינטרנט.
  • web_server.memory_gb: נפח הזיכרון של שרת האינטרנט.
  • web_server.storage_gb: נפח האחסון בשרת האינטרנט.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      web_server {
        cpu = WEB_SERVER_CPU
        memory_gb = WEB_SERVER_MEMORY
        storage_gb = WEB_SERVER_STORAGE
      }
    }

  }
}

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.
  • WEB_SERVER_CPU: מספר יחידות ה-CPU של שרת האינטרנט, ביחידות vCPU.
  • WEB_SERVER_MEMORY: כמות הזיכרון של שרת האינטרנט, בגיגה-בייט.
  • WEB_SERVER_STORAGE: גודל הדיסק של שרת האינטרנט, ב-GB.

דוגמה:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      web_server {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
    }

  }
}

שינוי גודל הסביבה

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

אם רוצים להריץ מספר גדול של DAG ומשימות, כדאי לבחור גודל סביבה גדול יותר.

המסוף

  1. נכנסים לדף Environments במסוף Google Cloud .

    מעבר אל Environments

  2. ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.

  3. עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).

  4. בפריט Resources (משאבים) > Workloads configuration (הגדרת עומסי עבודה), לוחצים על Edit (עריכה).

  5. בפריט משאבים > תשתית ליבה, לוחצים על עריכה.

  6. בחלונית Core infrastructure, בשדה Environment size, מציינים את גודל הסביבה.

  7. לוחצים על Save.

gcloud

הארגומנט --environment-size קובע את גודל הסביבה:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --environment-size ENVIRONMENT_SIZE

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.
  • ENVIRONMENT_SIZE: small, medium, large.

דוגמה:

gcloud composer environments update example-environment \
    --location us-central1 \
    --environment-size medium

API

  1. יוצרים בקשת API של environments.patch.

  2. בבקשה הזו:

    1. בפרמטר updateMask, מציינים את המסכה config.environmentSize.

    2. בגוף הבקשה, מציינים את גודל הסביבה.

  "config": {
    "environmentSize": "ENVIRONMENT_SIZE"
  }

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

  • ENVIRONMENT_SIZE: גודל הסביבה: ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM, ENVIRONMENT_SIZE_LARGE.

דוגמה:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.environmentSize

"config": {
  "environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}

Terraform

השדה environment_size בבלוק config קובע את גודל הסביבה:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    environment_size = "ENVIRONMENT_SIZE"

  }
}

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

  • ENVIRONMENT_NAME: שם הסביבה.
  • LOCATION: האזור שבו נמצאת הסביבה.
  • ENVIRONMENT_SIZE: גודל הסביבה: ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM, ENVIRONMENT_SIZE_LARGE.

דוגמה:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    environment_size = "ENVIRONMENT_SIZE_SMALL"

    }
  }
}

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