Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Halaman ini menjelaskan cara mengupgrade lingkungan Anda ke versi Airflow baru.
Tentang operasi upgrade
Di Cloud Composer 3, Anda tidak mengelola versi Cloud Composer lingkungan Anda:
- Cloud Composer otomatis mengupgrade komponen infrastruktur lingkungan Anda. Komponen ini terkait dengan fungsi Cloud Composer dan tidak mengubah cara kerja Airflow atau cara DAG Airflow dieksekusi.
- Cloud Composer tidak otomatis mengupgrade versi dan build Airflow, komponen Airflow, atau komponen yang terkait erat dengan beban kerja Airflow. Nilai ini tidak berubah saat komponen infrastruktur diupgrade secara otomatis.
- Anda dapat mengupgrade secara manual ke versi atau build Airflow baru.
Misalnya, Anda dapat menggunakan versi dan build Airflow yang sama selama beberapa bulan, tanpa melakukan upgrade apa pun, dan lingkungan Anda masih menerima update, perbaikan, dan peningkatan Cloud Composer terbaru pada komponen infrastruktur lingkungan. Jika nanti Anda memutuskan untuk beralih ke versi atau build Airflow baru, Anda harus mengupgrade versi Airflow di lingkungan Anda.
Tentang upgrade versi Airflow
Lingkungan Anda mengubah versi atau build Airflow dengan cara berikut:
Anda mengontrol versi (dan build) Airflow lingkungan Anda. Anda dapat melakukan operasi upgrade versi Airflow saat memilih untuk mengalihkan lingkungan ke versi Airflow yang berbeda. Misalnya, hal ini mungkin terjadi jika versi dan build Airflow saat ini tidak lagi didukung.
Cloud Composer men-deploy ulang komponen Airflow lingkungan Anda menggunakan versi dan build Airflow yang ditentukan.
Cloud Composer menerapkan perubahan konfigurasi Airflow, seperti paket PyPI kustom atau penggantian opsi konfigurasi Airflow, jika lingkungan Anda memilikinya sebelum upgrade.
Cloud Composer memperbarui koneksi
airflow_db
Airflow agar mengarah ke database Cloud SQL baru.
Mengubah versi Airflow tidak akan mengubah cara Anda terhubung ke resource di lingkungan, seperti URL bucket lingkungan, atau server web Airflow.
Tentang operasi upgrade infrastruktur otomatis
Cloud Composer secara berkala menjalankan operasi upgrade infrastruktur otomatis:
Operasi upgrade infrastruktur otomatis berjalan secara berkala selama masa pemeliharaan yang ditentukan untuk lingkungan.
Anda tidak dapat menonaktifkan upgrade infrastruktur otomatis di Cloud Composer 3. Anda dapat mengontrol jangka waktu saat upgrade otomatis dapat berjalan dengan menentukan masa pemeliharaan kustom untuk lingkungan Anda.
Operasi ini dapat dilihat di konsol Google Cloud dan log lingkungan, seperti operasi berjalan lama lainnya. Saat operasi berjalan, Anda tidak dapat memulai operasi lain di tingkat lingkungan (tetapi Anda masih dapat menjalankan DAG Airflow).
Dalam beberapa kasus, upgrade infrastruktur otomatis dapat memulai ulang komponen Airflow. Selama mulai ulang tersebut, pekerja Airflow akan dihentikan dengan baik dengan masa tenggang 24 jam. Jika Anda memiliki tugas yang memerlukan waktu lebih dari 24 jam untuk diselesaikan, pertimbangkan untuk menggunakan operator yang dapat ditangguhkan. Upgrade dapat menyebabkan periode singkat ketidaktersediaan untuk komponen infrastruktur lingkungan, seperti pemantauan lingkungan.
Batasan operasi upgrade
Operasi upgrade memiliki batasan berikut:
- Anda tidak dapat mendowngrade ke versi atau build Airflow sebelumnya.
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 volume 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 memadai untuk melakukan operasi upgrade. Untuk mengetahui informasi selengkapnya, lihat Kontrol akses.
Periksa apakah lingkungan Anda sudah yang terbaru
Cloud Composer menampilkan peringatan saat build Airflow lingkungan Anda mendekati akhir tanggal dukungannya. Anda dapat menggunakan peringatan ini untuk selalu menjaga lingkungan Anda didukung.
Cloud Composer melacak versi dan build 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.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Konfigurasi lingkungan.
Di kolom Versi gambar, salah satu pesan berikut akan ditampilkan:
Versi terbaru yang tersedia. Image lingkungan Anda didukung sepenuhnya.
Tersedia versi baru. Gambar lingkungan Anda didukung sepenuhnya dan Anda dapat mengupgradenya ke versi yang lebih baru.
Dukungan untuk versi image ini akan berakhir pada... Gambar lingkungan Anda hampir mendekati akhir periode dukungan penuh.
Versi ini tidak didukung mulai... Lingkungan Anda telah melewati periode dukungan penuh.
gcloud
Fungsi ini tidak tersedia melalui Google Cloud CLI. Sebagai gantinya, Anda dapat Melihat upgrade yang tersedia, yang menampilkan versi baru yang tersedia.
API
Fungsi ini tidak tersedia melalui API. Sebagai gantinya, Anda dapat Melihat upgrade yang tersedia, yang menampilkan versi baru yang tersedia.
Melihat upgrade yang tersedia
Untuk melihat versi Cloud Composer yang dapat Anda upgrade:
Konsol
Di konsol Google Cloud, buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Konfigurasi lingkungan, lalu klik Upgrade Image Version.
Untuk mengetahui daftar versi yang tersedia, klik menu drop-down Versi image Cloud Composer.
gcloud
gcloud composer environments list-upgrades \
ENVIRONMENT_NAME \
--location LOCATION
Ganti:
ENVIRONMENT_NAME
dengan nama lingkungan.LOCATION
dengan 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 sebelum mengupgrade
Anda dapat memeriksa apakah paket PyPI yang diinstal di lingkungan Anda memiliki konflik dengan paket yang diprainstal dalam versi atau build 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 konsol Google Cloud, buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Konfigurasi lingkungan, temukan entri Versi image, lalu klik Upgrade.
Di dialog Environment version upgrade, di menu drop-down New version, pilih versi atau build Airflow yang ingin Anda upgrade.
Di bagian Kompatibilitas paket PyPI, klik Periksa konflik.
Tunggu hingga pemeriksaan selesai. Jika ada konflik dependensi paket PyPI, pesan error yang ditampilkan akan berisi detail tentang paket dan versi paket yang bertentangan.
gcloud
Untuk menjalankan pemeriksaan upgrade untuk lingkungan Anda, jalankan perintah
environments check-upgrade
dengan
versi atau build Airflow.
yang ingin Anda upgrade.
gcloud composer environments check-upgrade \
ENVIRONMENT_NAME \
--location LOCATION \
--airflow-version VERSION
Ganti:
ENVIRONMENT_NAME
dengan nama lingkungan.LOCATION
dengan region tempat lingkungan berada.VERSION
dengan versi dan build Airflow baru yang ingin Anda upgrade, dalam formatairflow-x.y.z-build.t
. Anda juga dapat menggunakan semua alias versi.
Contoh:
gcloud composer environments check-upgrade example-environment \
--location us-central1 \
--airflow-version airflow-2.9.3-build.7
Contoh output:
Waiting for [projects/example-project/locations/us-central1/environments/
example-environment] to be checked for PyPI package conflicts when upgrading
to composer-3-airflow-2.9.3-build.7. Operation [projects/example-project/locations/
us-central1/operations/04d0e8b2-...]...done.
...
Response:
'@type': type.googleapis.com/
google.cloud.orchestration.airflow.service.v1.CheckUpgradeResponse
buildLogUri: https://console.cloud.google.com/cloud-build/builds/79738aa7-...
containsPypiModulesConflict: CONFLICT
pypiConflictBuildLogExtract: |-
The Cloud Build image build failed: Build failed; check build logs for
details. Full log can be found at https://console.cloud.google.com/
cloud-build/builds/79738aa7-...
Error details: tensorboard 2.2.2 has requirement
setuptools>=41.0.0, but you have setuptools 40.3.0.
Atau, 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-3-airflow-x.y.z-build.t
.
Mengupgrade lingkungan
Untuk mengupgrade lingkungan Anda ke versi atau build Airflow baru:
Konsol
Di konsol Google Cloud, buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Konfigurasi lingkungan.
Cari item Versi image, lalu klik Upgrade.
Dari menu drop-down Image version, pilih versi atau build Airflow yang ingin Anda upgrade.
Klik Upgrade.
gcloud
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--airflow-version VERSION
Ganti:
ENVIRONMENT_NAME
dengan nama lingkungan.LOCATION
dengan region tempat lingkungan berada.VERSION
dengan versi dan build Airflow baru yang ingin Anda upgrade, dalam formatairflow-x.y.z-build.t
. Anda juga dapat menggunakan semua alias versi.
Contoh:
gcloud composer environments update
example-environment \
--location us-central1 \
--airflow-version airflow-2.9.3-build.7
API
Buat permintaan API
environments.patch
.Dalam permintaan ini:
Dalam parameter
updateMask
, tentukan maskconfig.softwareConfig.imageVersion
.Dalam 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-3-airflow-2.9.3-build.7"
}
}
}
Terraform
Kolom image_version
di blok config.software_config
mengontrol versi dan build Airflow lingkungan Anda. Di kolom ini, tentukan versi dan build Airflow baru.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "VERSION"
}
}
}
Ganti:
ENVIRONMENT_NAME
dengan nama lingkungan.LOCATION
dengan region tempat lingkungan tersebut berada. Versi dan build Airflow baru yang ingin Anda upgrade, dalam formatairflow-x.y.z-build.t
. Anda 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 = "airflow-2.9.3-build.7"
}
}
}