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

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

בדף הזה מוסבר איך להגדיר סביבות Managed Airflow עם חוסן גבוה (זמינות גבוהה).

מידע על סביבות עמידות מאוד (זמינות גבוהה)

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

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

מידע על מסד נתונים עם זמינות גבוהה של הסביבה שלכם

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

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

מידע על רכיבי Airflow עם זמינות גבוהה

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

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

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

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

  • ב-Managed Airflow (דור 2), חוסן גבוה זמין רק בסביבות עם כתובות IP פרטיות.

  • סביבות עמידות במיוחד מוצעות בחיוב מצטבר בהשוואה לסביבות רגילות.

  • סביבות עמידות במיוחד זמינות ב-Managed Airflow מגרסה 2.2.0 ואילך.

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

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

    • אם משתמשים באופרטורים שניתן לדחות ב-DAG, צריך לפחות שני מפעילים.

יצירת סביבה עמידה במיוחד

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

עדכון סביבה רגילה למצב חוסן גבוה

המסוף

  1. במסוף Google Cloud , עוברים לדף Environments.

    מעבר אל Environments

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

  3. בוחרים בכרטיסייה הגדרת הסביבה.

  4. בקטע מצב חוסן, לוחצים על עריכה.

  5. בוחרים באפשרות עמידות גבוהה ולוחצים על שמירה.

gcloud

  gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --enable-high-resilience

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

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

API

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

  2. בבקשה הזו:

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

    2. בגוף הבקשה, מציינים HIGH_RESILIENCE כדי לעבור למצב עמידות גבוהה.

דוגמה:

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

{
 "config": {
   "resilience_mode": { "HIGH_RESILIENCE" }
   }
 }

Terraform

השדה resilience_mode בבלוק config מציין את מצב העמידות. כדי להשתמש במצב חוסן גבוה, צריך להגדיר את הערך הזה ל-HIGH_RESILIENCE.

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

  config {

    resilience_mode = "HIGH_RESILIENCE"

  }
}

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

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

דוגמה:

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

  config {

    resilience_mode = "HIGH_RESILIENCE"

}

שינוי סביבה עם חוסן גבוה למצב חוסן רגיל

אפשר לשנות את הסביבה למצב חוסן רגיל בכל שלב. הפעולה הזו:

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

המסוף

  1. במסוף Google Cloud , עוברים לדף Environments.

    מעבר אל Environments

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

  3. בוחרים בכרטיסייה הגדרת הסביבה.

  4. בקטע מצב חוסן, לוחצים על עריכה.

  5. בוחרים באפשרות Standard resilience (default) (חוסן רגיל (ברירת מחדל)) ולוחצים על Save (שמירה).

gcloud

  gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-high-resilience

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

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

API

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

  2. בבקשה הזו:

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

    2. בגוף הבקשה מציינים RESILIENCE_MODE_UNSPECIFIED כדי לעבור למצב חוסן רגיל.

דוגמה:

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

{
 "config": {
   "resilience_mode": { "RESILIENCE_MODE_UNSPECIFIED" }
   }
 }

Terraform

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

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

  config {

    resilience_mode = "STANDARD_RESILIENCE"

  }
}

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

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

דוגמה:

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

  config {

    resilience_mode = "STANDARD_RESILIENCE"

}

בדיקה אם הסביבה פועלת במצב חוסן גבוה

המסוף

  1. במסוף Google Cloud , עוברים לדף Environments.

    מעבר אל Environments

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

  3. בוחרים בכרטיסייה הגדרת הסביבה.

  4. בקטע Resilience mode, אפשר לראות את מצב החוסן של הסביבה.

gcloud

כדי לבדוק אם מצב החוסן הגבוה מופעל בסביבה שלכם, מריצים את הפקודה הבאה ב-Google Cloud CLI. הערך True מציין שהופעל מצב עמידות גבוהה בסביבה שלכם.

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION \
  --format="value(config.resilienceMode)"

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

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

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