Mengupgrade lingkungan

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Halaman ini menjelaskan cara mengupgrade lingkungan Anda ke versi Cloud Composer atau Airflow baru.

Tentang operasi upgrade

Anda dapat mengupgrade versi Cloud Composer, versi Airflow, atau keduanya secara bersamaan.

Saat Anda mengubah versi Airflow atau Cloud Composer yang digunakan oleh lingkungan Anda:

  • Cloud Composer men-deploy ulang komponen lingkungan Anda menggunakan versi baru image Cloud Composer.

  • 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 untuk mengarah ke database Cloud SQL yang 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 Cloud Composer diluncurkan secara bertahap ke semua region yang didukung oleh Cloud Composer selama beberapa hari. Versi terbaru dari rilis yang sedang berlangsung mungkin belum tersedia di wilayah Anda.

  • Anda tidak dapat melakukan downgrade ke versi Cloud Composer atau Airflow yang lebih lama.

  • Di konsol Google Cloud , Anda hanya dapat mengupgrade ke Cloud Composer 2 versi terbaru yang didukung.

  • Di Google Cloud CLI, API, atau Terraform, Anda dapat mengupgrade lingkungan ke versi terbaru yang didukung, tiga versi Cloud Composer 2 sebelumnya, versi patch terakhir dari versi minor sebelumnya, dan ke versi dengan jadwal upgrade yang diperpanjang. Upgrade ke versi Cloud Composer 2 lainnya tidak dapat dilakukan, meskipun versi tersebut 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 Cloud Composer 2 sebelumnya: composer-2.11.4-airflow-*, composer-2.11.3-airflow-*, composer-2.11.2-airflow-*.
    • Patch terakhir dari versi minor Cloud Composer 2 sebelumnya: composer-2.10.2-airflow-*
    • Versi Cloud Composer 2 dengan jadwal upgrade yang diperpanjang: composer-2.10.2-airflow-*, composer-2.10.1-ariflow-*, composer-2.9.7-airflow-*, dan versi lainnya dengan jadwal upgrade yang diperpanjang.
  • Versi yang Anda upgrade harus mendukung versi Python saat ini di lingkungan Anda.

  • Batas kuota Compute Engine API dapat mencegah upgrade. Di Google Cloud konsol, buka halaman IAM and Admin > Quotas and System Limits, lalu periksa apakah kuota Compute Engine API untuk CPU tidak terlampaui. Jika batas kuota hampir tercapai, minta Penambahan kuota sebelum melanjutkan operasi upgrade.

  • 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 dari lingkungan untuk 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.

  • Anda mungkin melihat entri metadata Compute Engine untuk cluster GKE yang termasuk dalam lingkungan di project Anda. Selama pembuatan dan upgrade cluster GKE, Google Kubernetes Engine otomatis menambahkan entri metadata tingkat project (google_compute_project_metadata) untuk melacak penggunaan rentang alamat IP sekunder. Jangan mengubah atau menghapus entri ini. Google Kubernetes Engine mengelolanya secara otomatis.

Pastikan lingkungan Anda sudah yang terbaru

Cloud Composer menampilkan peringatan saat image lingkungan Anda mendekati tanggal akhir dukungan penuhnya. Anda dapat menggunakan peringatan ini untuk selalu menjaga lingkungan Anda agar didukung.

Pesan penghentian penggunaan ditampilkan di halaman Detail lingkungan
Gambar 1. Pesan penghentian penggunaan ditampilkan di halaman detail Lingkungan

Cloud Composer melacak versi image Cloud Composer yang menjadi dasar lingkungan Anda. Saat mendekati akhir tanggal dukungan, Anda dapat melihat peringatan dalam daftar lingkungan dan di halaman Detail lingkungan.

Untuk memeriksa apakah lingkungan Anda sudah diupdate:

Konsol

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di kolom Versi gambar, salah satu pesan berikut akan ditampilkan:

    • Versi terbaru yang tersedia. Gambar lingkungan Anda didukung sepenuhnya.

    • Versi baru tersedia. Gambar lingkungan Anda didukung sepenuhnya dan Anda dapat mengupgradenya ke versi yang lebih baru.

    • Dukungan untuk versi image ini akan berakhir dalam... Gambar lingkungan Anda hampir mencapai akhir periode dukungan penuh.

    • Versi ini tidak didukung mulai... Lingkungan Anda telah melewati masa dukungan penuh.

gcloud

Fungsi ini tidak tersedia melalui Google Cloud CLI. Anda dapat Melihat upgrade yang disarankan, yang menampilkan versi baru yang tersedia.

API

Fungsi ini tidak tersedia melalui API. Anda dapat Melihat upgrade yang disarankan, yang menampilkan versi baru yang tersedia.

Melihat upgrade yang disarankan

Cloud Composer menyediakan daftar versi Cloud Composer yang dapat Anda gunakan untuk mengupgrade lingkungan.

Untuk melihat versi Cloud Composer yang disarankan untuk upgrade:

Konsol

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Environment configuration, lalu klik Upgrade Image Version.

  4. Untuk melihat daftar versi yang disarankan, 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

Anda dapat memeriksa apakah paket PyPI yang diinstal di lingkungan Anda memiliki konflik dengan paket yang telah diinstal sebelumnya di image Cloud Composer 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 gagal karena alasan lain.

Konsol

Untuk menjalankan pemeriksaan upgrade untuk lingkungan Anda:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan, temukan entri Versi image, lalu klik Upgrade.

  4. Pada dialog Environment version upgrade, di menu drop-down New version, pilih versi Cloud Composer yang ingin Anda upgrade.

  5. Di bagian Kompatibilitas paket PyPI, klik Periksa konflik.

  6. Tunggu hingga pemeriksaan selesai. Jika ada konflik dependensi paket PyPI, pesan error yang ditampilkan akan berisi detail tentang paket dan versi paket yang berkonflik.

gcloud

Untuk menjalankan pemeriksaan upgrade lingkungan, jalankan perintah environments check-upgrade dengan versi image Cloud Composer. yang ingin Anda upgrade.

gcloud composer environments check-upgrade \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --image-version VERSION

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • VERSION dengan versi image Cloud Composer baru yang ingin Anda upgrade, dalam format composer-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-2.14.4-airflow-2.10.5

Contoh output:

Waiting for [projects/example-project/locations/us-central1/environments/
example-environment] to be checked for PyPI package conflicts when upgrading
to composer-2.14.4-airflow-2.10.5. 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 environments.checkUpgrade API.

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.

Memeriksa konflik dengan Cloud Composer 3

Meskipun tidak mungkin memigrasikan lingkungan Anda dari Cloud Composer 2 ke Cloud Composer 3 secara langsung, Anda dapat memeriksa masalah kompatibilitas menggunakan pemeriksaan upgrade. Sebaiknya lakukan sebelum bermigrasi ke Cloud Composer 3.

Untuk memeriksa kompatibilitas dengan Cloud Composer 3, lakukan pemeriksaan upgrade rutin pada lingkungan Cloud Composer 2 Anda dan tentukan versi Cloud Composer 3 sebagai target.

Setiap konflik yang dilaporkan dapat memiliki jenis berikut:

  • Konflik BLOCKING melaporkan elemen konfigurasi lingkungan yang tidak kompatibel dan tidak didukung di Cloud Composer 3. Sebaiknya selesaikan konflik ini sebelum memulai migrasi ke Cloud Composer 3.

  • Konflik NON_BLOCKING melaporkan elemen konfigurasi lingkungan yang berbeda di Cloud Composer 3 dan dapat menyebabkan perilaku yang tidak terduga. Misalnya, perubahan nilai default seperti masa pemeliharaan default dilaporkan sebagai konflik yang tidak memblokir. Sebaiknya periksa apakah konflik ini dapat menyebabkan masalah sebelum memulai proses migrasi.

  • Konflik paket PyPI juga dilaporkan sebagai bagian dari pemeriksaan ini. Masalah ini dilaporkan secara terpisah dari konflik konfigurasi, dengan cara yang sama seperti untuk pemeriksaan kompatibilitas paket PyPI reguler.

Konsol

Untuk memeriksa kompatibilitas dengan Cloud Composer 3, gunakan gcloud CLI atau Cloud Composer API. KonsolGoogle Cloud hanya mendukung pemeriksaan kompatibilitas paket PyPI.

gcloud

Untuk memeriksa kompatibilitas dengan Cloud Composer 3, jalankan perintah environments check-upgrade dan tentukan versi Cloud Composer 3 sebagai target.

gcloud composer environments check-upgrade \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --image-version COMPOSER_3_VERSION

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • COMPOSER_3_VERSION dengan versi dan build Airflow yang ingin Anda upgrade ke, dalam format airflow-x.y.z-build.t. Anda dapat menggunakan semua alias versi.

Contoh:

gcloud composer environments check-upgrade example-environment \
  --location us-central1 \
  --image-version composer-3-airflow-2

Contoh pesan konflik:

...
- message: Error validating property [core]unit_test_mode. Overriding [core]
unit_test_mode is not permitted.
type: BLOCKING
- message: Environment variables [GOOGLE_CLOUD_PROJECT] may not be overridden.
type: BLOCKING
- message: You have to specify Worker CPUs to be 0.5, 1.0 or multiples of 2.0.
type: BLOCKING
- message: The environment uses a default maintenance window, which is
different in Composer 2 and Composer 3. Unless set to a custom value, the
maintenance window will be changed to a new default after the upgrade.
type: NON_BLOCKING
...

Sebagai alternatif, Anda dapat menjalankan pemeriksaan ini secara asinkron. Gunakan argumen --async untuk melakukan panggilan asinkron, lalu periksa hasilnya dengan perintah gcloud composer operations describe.

API

Buat permintaan environments.checkUpgrade API.

Tentukan versi image di kolom imageVersion:

{
  "imageVersion": "COMPOSER_3_VERSION"
}

Ganti COMPOSER_3_VERSION dengan versi dan build Airflow yang ingin Anda upgrade, dalam format airflow-x.y.z-build.t. Anda dapat menggunakan semua alias versi.

Mengupgrade lingkungan Anda

Untuk mengupgrade lingkungan Anda ke versi Cloud Composer atau Airflow yang lebih baru:

Konsol

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Cari item Versi gambar, lalu klik Upgrade.

  5. Dari menu drop-down Image version, pilih versi Cloud Composer yang ingin Anda upgrade.

  6. Klik Upgrade.

gcloud

gcloud composer environments update \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --image-version VERSION

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • VERSION dengan versi image Cloud Composer baru yang ingin Anda upgrade, dalam format composer-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-2.14.4-airflow-2.10.5

API

  1. Buat permintaan API environments.patch.

  2. Dalam permintaan ini:

    1. Dalam parameter updateMask, tentukan masker config.softwareConfig.imageVersion.

    2. 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-2.14.4-airflow-2.10.5"
      }
    }
  }

Terraform

Kolom image_version di blok config.software_config mengontrol image Cloud Composer di lingkungan Anda. Di kolom ini, tentukan image Cloud Composer 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 berada. versi image Cloud Composer baru yang ingin Anda upgrade, dalam format composer-a.b.c-airflow-x.y.z. 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 = "composer-2.14.4-airflow-2.10.5"
    }
  }
}

Langkah berikutnya