Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)
בדף הזה מוסבר איך לשדרג את הסביבה לגרסה חדשה של Managed Airflow או Airflow.
מידע על פעולות שדרוג
אתם יכולים לשדרג את גרסת Managed Airflow, את גרסת Airflow או את שתיהן בו-זמנית.
כשמשנים את הגרסה של Airflow או של Managed Airflow שבה משתמשים בסביבה:
Managed Airflow פורס מחדש את הרכיבים של הסביבה באמצעות גרסאות חדשות של תמונות Managed Airflow.
אם בסביבה שלכם היו חבילות PyPI בהתאמה אישית או שינויים בהגדרות של Airflow לפני השדרוג, Managed Airflow יחיל את השינויים האלה בהגדרות של Airflow.
Managed Airflow מעדכן את החיבור של Airflow
airflow_dbכך שיצביע על מסד הנתונים החדש של Cloud SQL.
השדרוג לא משנה את אופן החיבור למשאבים בסביבה, כמו כתובת ה-URL של הקטגוריה בסביבה או שרת האינטרנט של Airflow.
מגבלות על פעולות שדרוג והחזרה לגרסה קודמת
לפעולות השדרוג יש את המגבלות הבאות:
גרסאות Managed Airflow מושקות בהדרגה במשך כמה ימים בכל האזורים שנתמכים על ידי Managed Airflow. יכול להיות שהגרסה העדכנית של גרסה בתהליך השקה עדיין לא זמינה באזור שלכם.
אי אפשר לשדרג לאחור לגרסה קודמת של Managed Airflow או Airflow.
במסוף Google Cloud אפשר לשדרג רק לגרסאות הנתמכות האחרונות של Managed Airflow (דור 2).
ב-Google Cloud CLI, ב-API או ב-Terraform, אתם יכולים לשדרג סביבה לגרסאות הנתמכות האחרונות, לשלוש גרסאות קודמות של Managed Airflow (דור 2), לגרסת התיקון האחרונה של הגרסה המשנית הקודמת של Managed Airflow (דור 2) ולגרסאות עם ציר זמן מורחב לשדרוג. אי אפשר לשדרג לגרסאות אחרות של Managed Airflow (דור 2), גם אם הן עדיין נתמכות ואפשר להשתמש בהן כדי ליצור סביבה חדשה.
דוגמה לאפשרויות השדרוג ב-Google Cloud CLI, ב-API וב-Terraform:
- הגרסאות העדכניות:
composer-2.11.5-airflow-* - שלוש גרסאות קודמות של Managed Airflow (דור 2):
composer-2.11.4-airflow-*,composer-2.11.3-airflow-*,composer-2.11.2-airflow-*. - התיקון האחרון של הגרסה המשנית הקודמת של Managed Airflow (דור 2):
composer-2.10.2-airflow-* - גרסאות של Managed Airflow (דור 2) עם לוח זמנים מורחב לשדרוג:
composer-2.10.2-airflow-*,composer-2.10.1-ariflow-*,composer-2.9.7-airflow-*וגרסאות אחרות עם לוח זמנים מורחב לשדרוג.
- הגרסאות העדכניות:
הגרסה שמשדרגים אליה צריכה לתמוך בגרסת Python הנוכחית של הסביבה.
מגבלות המכסות של Compute Engine API יכולות למנוע שדרוגים. במסוף Google Cloud , נכנסים לדף IAM and Admin > Quotas and System Limits ובודקים אם לא חרגתם מהמכסה של Compute Engine API למעבד (CPU). אם אתם מתקרבים לסף המכסה, בקשו להגדיל את המכסה לפני שתמשיכו בפעולת השדרוג.
אי אפשר לשדרג לגרסה ראשית אחרת של Managed Airflow או Airflow במקום. אפשר להעביר באופן ידני קובצי DAG והגדרות בין סביבות. למידע נוסף:
אי אפשר לשדרג את הסביבה אם מסד הנתונים של Airflow מכיל יותר מ-16GB של נתונים. במהלך השדרוג, אם גודל מסד הנתונים של Airflow הוא יותר מ-16GB, תוצג אזהרה. במקרה כזה, בצעו תחזוקה של מסד הנתונים כדי להקטין את הגודל שלו.
אם אתם משתמשים במנגנון XCom כדי להעביר קבצים, ודאו שאתם משתמשים בו בהתאם להנחיות של Airflow. העברת קבצים גדולים או מספר גדול של קבצים באמצעות XCom משפיעה על הביצועים של מסד הנתונים של Airflow, ויכולה לגרום לכשלים בטעינת קובצי snapshot או בשדרוג הסביבה. כדי להעביר כמויות גדולות של נתונים, כדאי להשתמש בחלופות כמו Cloud Storage.
לפני שמתחילים
מומלץ ליצור קובץ snapshot חדש של הסביבה כדי שתוכלו ליצור אותה מחדש במקרה הצורך.
בחשבון שלכם צריך להיות תפקיד שמאפשר להפעיל פעולות של שדרוג סביבה. בנוסף, לחשבון השירות של הסביבה צריך להיות תפקיד עם מספיק הרשאות לביצוע פעולות שדרוג. למידע נוסף על בקרת גישה
מוודאים שהסביבה מעודכנת
ב-Managed Airflow מוצגות אזהרות כשתאריך הסיום של התמיכה המלאה בתמונת הסביבה מתקרב. אתם יכולים להשתמש באזהרות האלה כדי לוודא שהסביבה שלכם תמיד נתמכת.
ב-Managed Airflow מתבצע מעקב אחרי גרסת האימג' של Managed Airflow שעליה מבוססת הסביבה שלכם. כשתתקרבו לתאריך סיום התמיכה, תופיע אזהרה ברשימת הסביבות ובדף Environment details.
כדי לבדוק אם הסביבה שלכם מעודכנת:
המסוף
במסוף Google Cloud , נכנסים לדף Environments.
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details נפתח.
עוברים לכרטיסייה Environment configuration.
בשדה גרסת התמונה, מוצגת אחת מההודעות הבאות:
הגרסה העדכנית ביותר שזמינה. תמונת הסביבה נתמכת באופן מלא.
יש גרסה חדשה. יש תמיכה מלאה באימג' של הסביבה שלכם, ואתם יכולים לשדרג אותו לגרסה עדכנית יותר.
התמיכה בגרסת התמונה הזו תסתיים בעוד… תקופת זכאות התמיכה המלאה בתמונת הסביבה שלכם עומדת להסתיים.
הגרסה הזו לא נתמכת החל מ… הסביבה שלכם עברה את תקופת זכאות לתמיכה.
gcloud
הפונקציונליות הזו לא זמינה דרך Google Cloud CLI. במקום זאת, אפשר לראות הצעות לשדרוגים, שבהן מוצגות גרסאות חדשות שזמינות.
API
הפונקציונליות הזו לא זמינה דרך API. במקום זאת, אפשר לראות הצעות לשדרוגים, שבהן מוצגות גרסאות חדשות שזמינות.
הצגת השדרוגים המוצעים
ב-Managed Airflow יש רשימה של גרסאות Managed Airflow שאפשר לשדרג אליהן את הסביבה.
כדי לראות את הגרסאות של Managed Airflow שמומלץ לשדרג אליהן:
המסוף
במסוף Google Cloud , נכנסים לדף Environments.
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details נפתח.
עוברים לכרטיסייה Environment configuration ולוחצים על Upgrade Image Version.
כדי לראות את רשימת הגרסאות המוצעות, לוחצים על התפריט הנפתח Image version של Managed Airflow.
gcloud
gcloud composer environments list-upgrades \
ENVIRONMENT_NAME \
--location LOCATION
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
LOCATIONבאזור שבו נמצאת הסביבה.
דוגמה:
gcloud composer environments list-upgrades example-environment \
--location us-central1
API
אתם יכולים לראות את הגרסאות הזמינות של מיקום מסוים. כדי לעשות את זה, יוצרים בקשת API מסוג imageVersions.list.
לדוגמה:
// GET https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/imageVersions
בדיקה אם יש התנגשויות בין חבילות PyPI
אתם יכולים לבדוק אם יש התנגשויות בין חבילות PyPI שמותקנות בסביבה שלכם לבין חבילות שמותקנות מראש בקובץ האימג' החדש של Managed Airflow.
אם הבדיקה מצליחה, סימן שאין התנגשויות בין יחסי התלות של חבילת PyPI בגרסה הנוכחית לבין אלה שבגרסה שצוינה. עם זאת, יכול להיות שפעולת השדרוג עדיין לא תצליח מסיבות אחרות.
המסוף
כדי להריץ בדיקת שדרוג בסביבה שלכם:
במסוף Google Cloud , נכנסים לדף Environments.
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details נפתח.
בכרטיסייה Environment configuration, מאתרים את הרשומה Image version ולוחצים על Upgrade.
בתיבת הדו-שיח Environment version upgrade, ברשימה הנפתחת New version בוחרים את הגרסה של Managed Airflow שרוצים לשדרג אליה.
בקטע PyPI packages compatibility, לוחצים על Check for conflicts.
מחכים עד שהבדיקה תסתיים. אם יש התנגשויות בין יחסי תלות של חבילות PyPI, הודעות השגיאה שמוצגות מכילות פרטים על החבילות ועל גרסאות החבילות שמתנגשות.
gcloud
כדי להריץ בדיקת שדרוג לסביבה, מריצים את הפקודה environments check-upgrade עם גרסת האימג' של Managed Airflow שאליה רוצים לשדרג:
gcloud composer environments check-upgrade \
ENVIRONMENT_NAME \
--location LOCATION \
--image-version IMAGE_VERSION
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
LOCATIONבאזור שבו נמצאת הסביבה. -
IMAGE_VERSIONבגרסת התמונה של Managed Airflow שרוצים לשדרג אליה, בפורמטcomposer-a.b.c-airflow-x.y.z. אפשר גם להשתמש בכינויי גרסאות.
דוגמה:
gcloud composer environments check-upgrade example-environment \
--location us-central1 \
--image-version composer-1.20.12-airflow-1.10.15
פלט לדוגמה:
Waiting for [projects/example-project/locations/us-central1/environments/
example-environment] to be checked for PyPI package conflicts when upgrading
to composer-1.20.12-airflow-1.10.15. Operation [projects/example-project/locations/
us-central1/operations/04d0e8b2-...]...done.
...
Response:
'@type': type.googleapis.com/
google.cloud.orchestration.airflow.service.v1.CheckUpgradeResponse
buildLogUri: ...
containsPypiModulesConflict: CONFLICT
pypiConflictBuildLogExtract: |-
The Cloud Build image build failed: Build failed; check build logs for
details. Full log can be found at ...
Error details: tensorboard 2.2.2 has requirement
setuptools>=41.0.0, but you have setuptools 40.3.0.
אפשר גם להריץ בדיקת שדרוג באופן אסינכרוני. משתמשים בארגומנט --async כדי לבצע קריאה אסינכרונית, ואז בודקים את התוצאה באמצעות הפקודה gcloud composer operations describe.
API
יוצרים בקשת API של environments.checkUpgrade.
מציינים את גרסת התמונה בשדה imageVersion:
{
"imageVersion": "IMAGE_VERSION"
}
מחליפים את IMAGE_VERSION בגרסת התמונה של Managed Airflow שרוצים לשדרג אליה, בפורמט composer-a.b.c-airflow-x.y.z.
אפשר גם להשתמש בכינויי גרסאות.
שדרוג הסביבה
כדי לשדרג את הסביבה לגרסה עדכנית יותר של Managed Airflow או Airflow:
המסוף
במסוף Google Cloud , נכנסים לדף Environments.
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details נפתח.
עוברים לכרטיסייה Environment configuration.
מאתרים את הפריט גרסת תמונה ולוחצים על שדרוג.
בתפריט הנפתח Image version, בוחרים את גרסת Managed Airflow שרוצים לשדרג אליה.
לוחצים על שדרוג.
gcloud
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--image-version IMAGE_VERSION
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
LOCATIONבאזור שבו נמצאת הסביבה. -
IMAGE_VERSIONבגרסת התמונה של Managed Airflow שרוצים לשדרג אליה, בפורמטcomposer-a.b.c-airflow-x.y.z. אפשר גם להשתמש בכינויי גרסאות.
לדוגמה:
gcloud composer environments update \
example-environment \
--location us-central1 \
--image-version composer-1.20.12-airflow-1.10.15
API
יוצרים בקשת API של
environments.patch.בבקשה הזו:
בפרמטר
updateMask, מציינים את המסכהconfig.softwareConfig.imageVersion.בגוף הבקשה, בשדה
imageVersion, מציינים את הגרסה החדשה שאליה רוצים לשדרג.
לדוגמה:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.imageVersion
{
"config": {
"softwareConfig": {
"imageVersion": "composer-1.20.12-airflow-1.10.15"
}
}
}
Terraform
השדה image_version בבלוק config.software_config קובע את גרסת האימג' של Managed Airflow בסביבה שלכם. בשדה הזה, מציינים גרסת אימג' חדשה של Managed Airflow בפורמט composer-a.b.c-airflow-x.y.z.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "IMAGE_VERSION"
}
}
}
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
LOCATIONבאזור שבו נמצאת הסביבה. -
IMAGE_VERSIONבגרסת התמונה של Managed Airflow שרוצים לשדרג אליה, בפורמטcomposer-a.b.c-airflow-x.y.z. אפשר גם להשתמש בכל כינויי הגרסאות.
דוגמה:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
software_config {
image_version = "composer-1.20.12-airflow-1.10.15"
}
}
}