Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Halaman ini menjelaskan cara memperbarui lingkungan.
Tentang operasi update
Saat Anda mengubah parameter lingkungan, seperti menentukan parameter skalabilitas dan performa baru, atau menginstal paket PyPI kustom, lingkungan Anda akan diperbarui.
Setelah operasi ini selesai, perubahan akan tersedia di lingkungan Anda.
Untuk satu lingkungan Cloud Composer, Anda hanya dapat memulai satu operasi update dalam satu waktu. Anda harus menunggu operasi update selesai sebelum memulai operasi lingkungan lain.
Batas CPU pemicu
Cloud Composer dalam versi 2.4.4 memperkenalkan pendekatan penskalaan performa yang berbeda untuk komponen pemicu Airflow yang berlaku untuk semua versi Cloud Composer 2.
Sebelum versi 2.4.4, lingkungan Cloud Composer dapat menggunakan maksimal 1 atau 2 pemicu. Setelah perubahan ini, Anda dapat memiliki hingga 10 pemicu per lingkungan, tetapi setiap pemicu dibatasi hingga maksimum 1 vCPU.
Operasi update lingkungan akan gagal jika lingkungan Anda dikonfigurasi dengan lebih dari 1 vCPU per pemicu. Anda harus menyesuaikan konfigurasi untuk memenuhi batas 1 vCPU guna melakukan update pada komponen lain.
Untuk informasi selengkapnya, lihat:
- Mengonfigurasi alokasi resource pemicu
- Menyesuaikan jumlah pemicu
- Memecahkan masalah upgrade lingkungan - CPU pemicu terlampaui
Pengaruh update terhadap tugas Airflow yang sedang berjalan
Saat Anda menjalankan operasi update, penjadwal dan pekerja Airflow di lingkungan Anda mungkin memerlukan mulai ulang. Dalam hal ini, semua tugas yang sedang berjalan akan dihentikan. Setelah operasi update selesai, Airflow menjadwalkan tugas ini untuk dicoba ulang, bergantung pada cara Anda mengonfigurasi percobaan ulang untuk DAG.
Perubahan berikut menyebabkan penghentian tugas Airflow:
- Mengupgrade lingkungan Anda ke versi baru.
- Menambahkan, mengubah, atau menghapus paket PyPI kustom.
- Mengubah variabel lingkungan Cloud Composer.
- Menambahkan atau menghapus opsi konfigurasi Airflow akan mengganti, atau mengubah nilainya.
- Mengubah CPU, memori, atau penyimpanan pekerja Airflow.
- Mengurangi jumlah maksimum pekerja Airflow, jika nilai baru lebih rendah dari jumlah pekerja yang sedang berjalan. Misalnya, jika lingkungan saat ini menjalankan tiga pekerja, dan maksimumnya dikurangi menjadi dua.
- Mengubah mode ketahanan lingkungan.
Perubahan berikut tidak menyebabkan penghentian tugas Airflow:
- Membuat, memperbarui, atau menghapus DAG (bukan operasi update).
- Menjeda atau membatalkan jeda DAG (bukan operasi pembaruan).
- Mengubah variabel Airflow (bukan operasi update).
- Mengubah koneksi Airflow (bukan operasi update).
- Mengaktifkan atau menonaktifkan integrasi Silsilah Data Dataplex.
- Mengubah ukuran lingkungan.
- Mengubah jumlah penjadwal.
- Mengubah CPU, memori, atau penyimpanan penjadwal Airflow.
- Mengubah jumlah pemicu.
- Mengubah CPU, memori, atau penyimpanan pemicu Airflow.
- Mengubah CPU, memori, atau penyimpanan server web Airflow.
- Meningkatkan atau menurunkan jumlah minimum pekerja.
- Mengurangi jumlah maksimum pekerja Airflow. Misalnya, jika lingkungan saat ini menjalankan dua pekerja, dan maksimumnya dikurangi menjadi tiga.
- Mengubah masa pemeliharaan.
- Mengubah setelan snapshot terjadwal.
- Mengubah label lingkungan.
Melakukan update dengan Terraform
Jalankan terraform plan
sebelum terraform apply
untuk melihat apakah Terraform membuat lingkungan baru, bukan mengupdatenya.
Sebelum memulai
Pastikan akun Anda, akun layanan lingkungan Anda, dan akun Agen Layanan Cloud Composer di project Anda memiliki izin yang diperlukan:
Akun Anda harus memiliki peran yang dapat memicu operasi pembaruan lingkungan.
Akun layanan lingkungan Anda harus memiliki peran yang memiliki izin yang cukup untuk melakukan operasi update.
Akun Agen Layanan Cloud Composer harus memiliki izin untuk membuat binding antara akun layanan lingkungan Anda dan akun layanan Kubernetes dari cluster lingkungan Anda.
Perintah
gcloud composer environments update
dihentikan saat operasi selesai. Anda dapat menggunakan flag--async
untuk menghindari menunggu operasi selesai.
Memperbarui lingkungan
Untuk informasi selengkapnya tentang mengupdate lingkungan, lihat halaman dokumentasi lainnya tentang operasi update tertentu. Contoh:
- Mengganti opsi konfigurasi Airflow
- Menetapkan variabel lingkungan
- Menginstal dependensi Python
- Menskalakan lingkungan
- Mengonfigurasi jaringan yang diizinkan
- Memperbarui lingkungan ke ketahanan tinggi
Melihat detail lingkungan
Konsol
Di konsol Google Cloud, buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
gcloud
Jalankan perintah gcloud
berikut:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION
Ganti:
ENVIRONMENT_NAME
dengan nama lingkungan.LOCATION
dengan region tempat lingkungan berada.
API
Buat permintaan API environments.get
.
Contoh:
GET https://composer.googleapis.com/v1/projects/example-project/
locations/us-central1/environments/example-environment
Terraform
Jalankan perintah terraform state show
untuk resource lingkungan Anda.
Nama resource Terraform lingkungan Anda mungkin berbeda dengan nama lingkungan Anda.
terraform state show google_composer_environment.RESOURCE_NAME
Ganti:
RESOURCE_NAME
dengan nama resource lingkungan Anda.
Me-roll back perubahan update
Dalam beberapa situasi yang jarang terjadi, operasi update mungkin terganggu (misalnya, karena waktu tunggu habis) dan perubahan yang diminta mungkin tidak di-roll back di semua komponen lingkungan (seperti server web Airflow).
Misalnya, operasi update mungkin menginstal atau menghapus modul PyPI tambahan, menentukan ulang atau menentukan variabel lingkungan Airflow atau Cloud Composer baru, atau mengubah beberapa parameter terkait Airflow.
Situasi tersebut dapat terjadi jika operasi update dipicu saat operasi lain sedang berlangsung, misalnya penskalaan otomatis cluster Cloud Composer atau operasi pemeliharaan.
Dalam situasi seperti itu, sebaiknya ulangi operasi.
Durasi operasi update atau upgrade
Sebagian besar operasi update atau upgrade memerlukan mulai ulang komponen Airflow seperti penjadwal Airflow, pekerja, dan server web.
Setelah dimulai ulang, komponen harus diinisialisasi. Selama
inisialisasi, penjadwal dan pekerja Airflow mendownload konten folder /dags
dan /plugins
dari bucket lingkungan. Proses sinkronisasi file ke penjadwal dan pekerja Airflow tidak instan dan bergantung pada total ukuran dan jumlah semua objek dalam folder ini.
Sebaiknya hanya simpan file DAG dan plugin di folder /dags
dan /plugins
(masing-masing) dan hapus semua file lainnya. Terlalu banyak data
di folder /dags
dan /plugins
dapat memperlambat inisialisasi komponen
Airflow dan dalam kasus tertentu dapat membuat inisialisasi tidak dapat dilakukan.
Sebaiknya simpan data kurang dari 30 MB di folder /dags
dan /plugins
, dan pastikan tidak melebihi ukuran data 100 MB.
Untuk informasi selengkapnya, lihat juga: