Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Gen 1 Lama)
Halaman ini menjelaskan cara mengupgrade lingkungan Anda ke versi Managed Airflow atau Airflow baru.
Tentang operasi upgrade
Anda dapat mengupgrade versi Managed Airflow, versi Airflow, atau keduanya secara bersamaan.
Saat Anda mengubah versi Airflow atau Managed Airflow yang digunakan oleh lingkungan Anda:
Managed Airflow men-deploy ulang komponen lingkungan Anda menggunakan versi baru image Managed Airflow.
Managed Airflow menerapkan perubahan konfigurasi Airflow, seperti paket PyPI kustom atau penggantian opsi konfigurasi Airflow, jika lingkungan Anda memilikinya sebelum upgrade.
Managed Airflow memperbarui koneksi
airflow_dbAirflow untuk mengarah ke database Cloud SQL baru.
Upgrade tidak mengubah cara Anda terhubung ke resource di lingkungan Anda, seperti URL bucket lingkungan Anda, atau server web Airflow.
Batasan operasi upgrade
Operasi upgrade memiliki batasan berikut:
Rilis Managed Airflow diluncurkan secara bertahap ke semua region yang didukung oleh Managed Airflow selama beberapa hari. Versi terbaru dari rilis yang sedang berlangsung mungkin belum tersedia di region Anda.
Anda tidak dapat melakukan downgrade ke versi Managed Airflow atau Airflow yang lebih lama.
Di Google Cloud konsol, Anda hanya dapat mengupgrade ke versi Managed Airflow (Gen 2) terbaru yang didukung .
Di Google Cloud CLI, API, atau Terraform, Anda dapat mengupgrade lingkungan ke versi terbaru yang didukung, tiga versi Managed Airflow (Gen 2) sebelumnya, versi patch terakhir dari versi minor sebelumnya, dan ke versi dengan linimasa upgrade yang diperpanjang. Anda tidak dapat mengupgrade ke versi Managed Airflow (Gen 2) lainnya, meskipun masih didukung dan dapat digunakan untuk membuat lingkungan baru.
Contoh pilihan upgrade untuk Google Cloud CLI, API, dan Terraform:
- Versi terbaru:
composer-2.11.5-airflow-* - Tiga versi Managed Airflow (Gen 2) sebelumnya:
composer-2.11.4-airflow-*,composer-2.11.3-airflow-*,composer-2.11.2-airflow-*. - Patch terakhir dari versi minor Managed Airflow (Gen 2) sebelumnya:
composer-2.10.2-airflow-* - Versi Managed Airflow (Gen 2) dengan linimasa upgrade yang diperpanjang:
composer-2.10.2-airflow-*,composer-2.10.1-ariflow-*,composer-2.9.7-airflow-*, dan versi lainnya dengan linimasa upgrade yang diperpanjang.
- Versi terbaru:
Versi yang Anda upgrade harus mendukung versi Python lingkungan Anda saat ini.
Batas kuota Compute Engine API dapat mencegah upgrade. Di Google Cloud konsol, buka halaman IAM and Admin > Quotas and System Limits dan periksa apakah kuota Compute Engine API untuk CPU tidak terlampaui. Jika batas kuota akan tercapai, minta Perpanjangan kuota sebelum melanjutkan operasi upgrade.
Anda tidak dapat mengupgrade ke versi utama Managed Airflow atau Airflow yang berbeda secara langsung. Anda dapat mentransfer DAG dan konfigurasi secara manual antar-lingkungan. Untuk mengetahui informasi selengkapnya, lihat:
Anda tidak dapat mengupgrade lingkungan jika database Airflow berisi lebih dari 16 GB data. Selama upgrade, peringatan akan ditampilkan jika ukuran database Airflow lebih dari 16 GB. Dalam hal ini, lakukan pemeliharaan database untuk mengurangi ukuran database.
Jika Anda menggunakan mekanisme XCom untuk mentransfer file, pastikan Anda menggunakannya sesuai dengan panduan Airflow. Mentransfer file besar atau sejumlah besar file menggunakan XCom akan memengaruhi performa database Airflow dan dapat menyebabkan kegagalan saat memuat snapshot atau mengupgrade lingkungan Anda. Pertimbangkan untuk menggunakan alternatif seperti Cloud Storage untuk mentransfer data dalam jumlah besar.
Sebelum memulai
Sebaiknya buat snapshot baru lingkungan agar dapat membuat ulang lingkungan jika diperlukan.
Akun Anda harus memiliki peran yang dapat memicu operasi upgrade lingkungan. Selain itu, akun layanan lingkungan harus memiliki peran yang memiliki izin yang cukup untuk melakukan operasi upgrade. Untuk mengetahui informasi selengkapnya, lihat Kontrol akses.
Memeriksa apakah lingkungan Anda sudah yang terbaru
Managed Airflow menampilkan peringatan saat image lingkungan Anda mendekati tanggal akhir dukungan penuh. Anda dapat menggunakan peringatan ini untuk selalu menjaga lingkungan Anda tetap didukung.
Managed Airflow melacak versi image Managed Airflow yang menjadi dasar lingkungan Anda. Saat mendekati tanggal akhir dukungan, Anda dapat melihat peringatan dalam daftar lingkungan dan di halaman Detail lingkungan.
Untuk memeriksa apakah lingkungan Anda sudah yang terbaru:
Konsol
Di konsol Google Cloud , buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Environment configuration.
Di kolom Image version, salah satu pesan berikut akan ditampilkan:
Newest available version. Image lingkungan Anda didukung sepenuhnya.
New version available. Image lingkungan Anda didukung sepenuhnya dan Anda dapat mengupgradenya ke versi yang lebih baru.
Support for this image version ends in... Image lingkungan Anda mendekati akhir periode dukungan penuh.
This version is not supported as of... Lingkungan Anda telah melewati periode dukungan penuh.
gcloud
Fungsi ini tidak tersedia melalui Google Cloud CLI. Sebagai gantinya, Anda dapat Melihat upgrade yang disarankan, yang menampilkan versi baru yang tersedia.
API
Fungsi ini tidak tersedia melalui API. Sebagai gantinya, Anda dapat Melihat upgrade yang disarankan, yang menampilkan versi baru yang tersedia.
Melihat upgrade yang disarankan
Managed Airflow menyediakan daftar versi Managed Airflow yang dapat Anda gunakan untuk mengupgrade lingkungan Anda.
Untuk melihat versi Managed Airflow yang disarankan untuk upgrade:
Konsol
Di konsol Google Cloud , buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Environment configuration , lalu klik Upgrade Image Version.
Untuk daftar versi yang disarankan, klik menu drop-down Image version Managed Airflow.
gcloud
gcloud composer environments list-upgrades \
ENVIRONMENT_NAME \
--location LOCATION
Ganti:
ENVIRONMENT_NAMEdengan nama lingkungan.LOCATIONdengan region tempat lingkungan berada.
Contoh:
gcloud composer environments list-upgrades example-environment \
--location us-central1
API
Anda dapat melihat versi yang tersedia untuk suatu lokasi. Untuk melakukannya, buat permintaan API
imageVersions.list.
Contoh:
// GET https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/imageVersions
Memeriksa konflik paket PyPI
Anda dapat memeriksa apakah paket PyPI yang diinstal di lingkungan Anda memiliki konflik dengan paket yang telah diinstal sebelumnya di image Managed Airflow baru.
Pemeriksaan yang berhasil berarti tidak ada konflik dalam dependensi paket PyPI antara versi saat ini dan versi yang ditentukan. Namun, operasi upgrade mungkin masih tidak berhasil karena alasan lain.
Konsol
Untuk menjalankan pemeriksaan upgrade untuk lingkungan Anda:
Di Google Cloud konsol, buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Environment configuration, temukan entri Image version, lalu klik Upgrade.
Di dialog Environment version upgrade, di menu drop-down New version, pilih versi Managed Airflow yang ingin Anda upgrade.
Di bagian PyPI packages compatibility, klik Check for conflicts.
Tunggu hingga pemeriksaan selesai. Jika ada konflik dependensi paket PyPI, pesan error yang ditampilkan akan berisi detail tentang paket dan versi paket yang konflik.
gcloud
Untuk menjalankan pemeriksaan upgrade untuk lingkungan Anda, jalankan perintah
environments check-upgrade
dengan versi image Managed Airflow
yang ingin Anda upgrade.
gcloud composer environments check-upgrade \
ENVIRONMENT_NAME \
--location LOCATION \
--image-version VERSION
Ganti:
ENVIRONMENT_NAMEdengan nama lingkungan.LOCATIONdengan region tempat lingkungan berada.VERSIONdengan versi image Managed Airflow baru yang ingin Anda upgrade, dalam formatcomposer-a.b.c-airflow-x.y.z. Anda dapat menggunakan semua alias versi.
Contoh:
gcloud composer environments check-upgrade example-environment \
--location us-central1 \
--image-version composer-1.20.12-airflow-1.10.15
Contoh output:
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.
Sebagai alternatif, Anda dapat menjalankan pemeriksaan upgrade secara asinkron. Gunakan argumen
--async untuk melakukan panggilan asinkron, lalu periksa hasilnya dengan
perintah gcloud composer operations describe.
API
Buat permintaan API environments.checkUpgrade.
Tentukan versi image di kolom imageVersion:
{
"imageVersion": "VERSION"
}
Ganti VERSION dengan versi baru yang ingin Anda upgrade, dalam
format composer-a.b.c-airflow-x.y.z.
Mengupgrade lingkungan Anda
Untuk mengupgrade lingkungan Anda ke versi Managed Airflow atau Airflow yang lebih baru:
Konsol
Di konsol Google Cloud , buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Environment configuration.
Temukan item Image version , lalu klik Upgrade.
Dari menu drop-down Image version, pilih versi Managed Airflow yang ingin Anda upgrade.
Klik Upgrade.
gcloud
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--image-version VERSION
Ganti:
ENVIRONMENT_NAMEdengan nama lingkungan.LOCATIONdengan region tempat lingkungan berada.VERSIONdengan versi image Managed Airflow baru yang ingin Anda upgrade, dalam formatcomposer-a.b.c-airflow-x.y.z. Anda juga dapat menggunakan semua alias versi.
Contoh:
gcloud composer environments update
example-environment \
--location us-central1 \
--image-version composer-1.20.12-airflow-1.10.15
API
Buat permintaan API
environments.patch.Dalam permintaan ini:
Di parameter
updateMask, tentukan maskconfig.softwareConfig.imageVersion.Di isi permintaan, di kolom
imageVersion, tentukan versi baru yang ingin Anda upgrade.
Contoh:
// 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
Kolom image_version di blok config.software_config
mengontrol
image Managed Airflow lingkungan Anda. Di kolom ini, tentukan image Managed Airflow baru.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "VERSION"
}
}
}
Ganti:
ENVIRONMENT_NAMEdengan nama lingkungan.LOCATIONdengan region tempat lingkungan berada. versi image Managed Airflow baru yang ingin Anda upgrade, dalam format.composer-a.b.c-airflow-x.y.zAnda juga dapat menggunakan semua alias versi.
Contoh:
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"
}
}
}