Mengupgrade lingkungan

Cloud Composer 1 | Cloud Composer 2

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

Tentang operasi upgrade

Saat Anda mengubah versi Airflow atau Cloud Composer yang digunakan oleh lingkungan Anda, lingkungan Anda akan diupgrade.

Upgrade tidak mengubah cara Anda terhubung ke resource di lingkungan Anda, seperti URL bucket lingkungan Anda, atau server web Airflow.

Selama upgrade, Cloud Composer:

  1. Men-deploy ulang komponen lingkungan Anda menggunakan image Cloud Composer versi baru.
  2. Menerapkan perubahan konfigurasi Airflow, seperti paket PyPI kustom atau penggantian opsi konfigurasi Airflow, jika lingkungan Anda memilikinya sebelum upgrade.
  3. Memperbarui koneksi airflow_db Airflow agar mengarah ke database Cloud SQL baru.

Sebelum memulai

  • Upgrade sedang dalam Pratinjau. Gunakan fitur ini dengan hati-hati di lingkungan produksi.

  • Anda tidak dapat mendowngrade ke Cloud Composer atau Airflow versi sebelumnya.

  • Sebaiknya buat snapshot baru lingkungan agar dapat membuat ulang lingkungan jika diperlukan.

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

  • Anda dapat melakukan upgrade dari Cloud Composer versi apa pun hanya ke versi terbaru, tiga versi Cloud Composer sebelumnya, dan ke berbagai versi dengan linimasa upgrade yang diperpanjang.

  • Untuk melakukan upgrade ke versi selain versi Cloud Composer terbaru, gunakan Google Cloud CLI, API, atau Terraform. Di konsol Google Cloud, Anda hanya dapat mengupgrade ke versi terbaru.

  • Anda tidak dapat mengupgrade ke versi utama Cloud Composer atau Airflow yang berbeda. Anda dapat mentransfer DAG dan konfigurasi antar-lingkungan secara manual. Untuk informasi selengkapnya, lihat:

  • 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.

  • Untuk mengetahui daftar paket PyPI dalam versi yang ingin Anda upgrade, lihat daftar versi Cloud Composer.

  • 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.

  • Versi image yang menjadi tujuan upgrade harus mendukung versi Python lingkungan Anda saat ini.

  • Pastikan DAG Anda kompatibel dengan versi Airflow dan semua paket penyedia (termasuk paket penyedia Airflow untuk layanan Google Cloud dan Google). Anda dapat memeriksa versi paket penyedia yang disertakan dalam versi Cloud Composer tertentu.

  • Di konsol Google Cloud, buka halaman IAM and Admin > Quotas and System Limits dan periksa apakah kuota Compute Engine Engine API untuk CPU belum terlampaui. Jika batas kuota tercapai, minta perpanjangan Kuota sebelum melanjutkan operasi upgrade.

  • Upgrade dapat dilakukan pada tiga versi Cloud Composer yang terakhir dipublikasikan, atau ke salah satu versi "dukungan upgrade yang diperluas" seperti yang dijelaskan dalam versi Cloud Composer.

Memeriksa apakah lingkungan sudah diupdate

Cloud Composer menampilkan peringatan saat gambar lingkungan Anda mendekati akhir tanggal dukungannya. Anda dapat menggunakan peringatan ini untuk selalu mempertahankan lingkungan Anda dalam periode dukungan penuh.

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 gambar mendekati tanggal akhir dukungan, Anda dapat melihat peringatan dalam daftar lingkungan dan di halaman Detail lingkungan.

Untuk memeriksa apakah image lingkungan Anda sudah yang terbaru:

Konsol

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

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

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

    • Tersedia versi baru. Image lingkungan Anda didukung sepenuhnya dan Anda dapat mengupgradenya ke versi yang lebih baru.

    • Dukungan untuk versi image ini berakhir dalam... Image lingkungan Anda mendekati akhir periode dukungan penuh.

    • Versi ini tidak didukung mulai... Lingkungan Anda telah melampaui periode dukungan penuh.

Lihat upgrade yang tersedia

Untuk melihat versi Cloud Composer yang dapat Anda gunakan:

Konsol

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Environment configuration dan klik Upgrade Image Version.

  4. Untuk mengetahui daftar versi yang tersedia, klik menu drop-down Image version Cloud Composer.

gcloud

gcloud beta composer environments list-upgrades \
  ENVIRONMENT_NAME \
  --location LOCATION

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.

Contoh:

gcloud beta composer environments list-upgrades example-environment \
  --location us-central1

API

Anda dapat melihat versi yang tersedia untuk 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 bawaan di image Cloud Composer baru.

Pemeriksaan yang berhasil berarti tidak ada konflik dependensi paket PyPI antara versi saat ini dan versi yang ditentukan. Perhatikan bahwa operasi upgrade mungkin masih belum berhasil karena alasan lain.

Konsol

Untuk menjalankan pemeriksaan upgrade lingkungan Anda:

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Environment configuration, cari entri Image version, 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 bertentangan.

gcloud

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

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

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • COMPOSER_IMAGE dengan versi image Cloud Composer baru yang ingin Anda upgrade, dalam format composer-a.b.c-airflow-x.y.z.

Contoh:

gcloud beta 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.v1beta1.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.

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 gambar di kolom imageVersion:

{
  "imageVersion": "COMPOSER_IMAGE"
}

Ganti COMPOSER_IMAGE dengan versi image Cloud Composer baru yang ingin Anda upgrade, dalam format composer-a.b.c-airflow-x.y.z.

Mengupgrade lingkungan Anda

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

Konsol

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Cari item Image version, lalu klik Upgrade.

  5. Dari menu drop-down Versi gambar, pilih versi.

  6. Klik Upgrade.

gcloud

gcloud beta composer environments update \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --image-version COMPOSER_IMAGE

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • COMPOSER_IMAGE dengan versi image Cloud Composer baru yang ingin Anda upgrade, dalam format composer-a.b.c-airflow-x.y.z.

Contoh:

gcloud beta composer environments update
  example-environment \
  --location us-central1 \
  --image-version composer-1.20.12-airflow-1.10.15

API

  1. Buat permintaan API environments.patch beta.

  2. Dalam permintaan ini:

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

    2. Dalam isi permintaan, di kolom imageVersion, versi image Cloud Composer baru yang ingin Anda upgrade, dalam format composer-a.b.c-airflow-x.y.z.

Contoh:

// PATCH https://composer.googleapis.com/v1beta1/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 dalam blok config.software_config mengontrol image Cloud Composer 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 = "COMPOSER_IMAGE"
    }
  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • COMPOSER_IMAGE dengan versi image Cloud Composer baru yang ingin Anda upgrade, dalam format composer-a.b.c-airflow-x.y.z.

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"
    }
  }
}

Langkah selanjutnya