Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Halaman ini menjelaskan cara menginstal plugin kustom di lingkungan Cloud Composer Anda.
Pengelola plugin Apache Airflow memungkinkan Anda menulis operator, hook, sensor, atau antarmuka Apache Airflow kustom internal. Untuk informasi selengkapnya, lihat plugin kustom dalam dokumentasi Airflow.
Tentang plugin kustom
Saat Anda membuat lingkungan, Cloud Composer
akan membuat bucket Cloud Storage dan mengaitkan bucket
ini dengan lingkungan Anda. Anda menggunakan folder plugins
di bucket lingkungan untuk menginstal plugin kustom.
Sebelum memulai
- Akun Anda harus memiliki peran yang memungkinkan melihat dan mengubah konten bucket lingkungan Anda.
- Metode penginstalan ini hanya berlaku untuk plugin Airflow. Misalnya, Anda tidak dapat menggunakan metode ini untuk menginstal modul Python umum atau library lainnya.
- Plugin harus sesuai dengan panduan template plugin Airflow.
Menginstal plugin
Untuk menginstal plugin kustom ke lingkungan Cloud Composer, salin kode plugin ke folder plugins
di bucket lingkungan Anda.
Untuk menginstal plugin:
Konsol
Di konsol Google Cloud, buka halaman Environments.
Temukan lingkungan Anda dan ikuti link DAG.
Naik satu tingkat folder, lalu buka folder
plugins/
.Upload file plugin Anda. Untuk informasi selengkapnya tentang cara mengupload objek, lihat Mengupload objek.
gcloud
Gunakan perintah gcloud
berikut:
gcloud composer environments storage plugins import \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--source PATH_TO_LOCAL_FILE \
--destination PATH_IN_SUBFOLDER
Ganti:
ENVIRONMENT_NAME
dengan nama lingkungan.LOCATION
dengan region tempat lingkungan tersebut berada.PATH_TO_LOCAL_FILE
dengan jalur file yang akan diupload.- (Opsional)
PATH_IN_SUBFOLDER
dengan jalur subfolder. Gunakan argumen--destination
untuk mengupload plugin ke subfolder dalam folderplugins
. Jika tidak, hapus argumen--destination
.
Melihat daftar plugin
Konsol
Di konsol Google Cloud, buka halaman Environments.
Temukan lingkungan Anda dan ikuti link DAG.
Naik satu tingkat folder, lalu buka folder
plugins/
.Melihat file plugin.
gcloud
Gunakan perintah gcloud
berikut:
gcloud composer environments storage plugins list \
--environment ENVIRONMENT_NAME \
--location LOCATION
Ganti:
ENVIRONMENT_NAME
dengan nama lingkungan.LOCATION
dengan region tempat lingkungan tersebut berada.
Menghapus plugin
Untuk menghapus plugin dari lingkungan Cloud Composer,
hapus kode plugin dari folder plugins
di bucket lingkungan.
Untuk menghapus plugin:
Konsol
Di konsol Google Cloud, buka halaman Environments.
Temukan lingkungan Anda dan ikuti link DAG.
Naik satu tingkat folder, lalu buka folder
plugins/
.Hapus file plugin. Untuk mengetahui informasi selengkapnya tentang cara menghapus objek, lihat Menghapus objek.
gcloud
Gunakan perintah gcloud
berikut:
gcloud composer environments storage plugins delete \
--environment ENVIRONMENT_NAME \
--location LOCATION \
PLUGIN_TO_DELETE
Mendownload plugin
Untuk mendownload plugin, pilih salah satu opsi:
Konsol
Di konsol Google Cloud, buka halaman Environments.
Temukan lingkungan Anda dan ikuti link DAG.
Naik satu tingkat folder, lalu buka folder
plugins/
.Download file plugin. Untuk mengetahui informasi selengkapnya tentang penghapusan objek, lihat Mendownload objek.
gcloud
Gunakan perintah gcloud
berikut:
gcloud composer environments storage plugins export \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--destination PATH_TO_LOCAL_DESTINATION \
--source PATH_IN_FOLDER
Ganti:
ENVIRONMENT_NAME
dengan nama lingkungan.LOCATION
dengan region tempat lingkungan tersebut berada.PATH_TO_LOCAL_DESTINATION
dengan tujuan untuk file yang didownload.- (Opsional)
--source
adalah opsi untuk mendownload hanya satu plugin.PATH_IN_FOLDER
adalah jalur folder.
Menonaktifkan plugin server web
Di Cloud Composer 3, jika mengalami masalah dengan UI Airflow, Anda dapat menonaktifkan plugin server web tanpa harus menghapusnya dari bucket lingkungan.
gcloud
Argumen Google Cloud CLI berikut menonaktifkan dan mengaktifkan plugin server web:
--no-support-web-server-plugins
: menonaktifkan plugin server web--support-web-server-plugins
: mengaktifkan plugin server web
Untuk menonaktifkan plugin server web, jalankan perintah Google Cloud CLI berikut:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--no-support-web-server-plugins
Untuk mengaktifkan plugin server web, jalankan perintah Google Cloud CLI berikut:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--support-web-server-plugins
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkunganLOCATION
: region tempat lingkungan berada
API
Buat permintaan API
environments.patch
.Dalam permintaan ini:
Dalam parameter
updateMask
, tentukan maskconfig.software_config.web_server_plugins_mode
.Dalam isi permintaan, di kolom
web_server_plugins_mode
:- Tentukan
PLUGINS_DISABLED
untuk menonaktifkan plugin server web. - Tentukan
PLUGINS_ENABLED
untuk mengaktifkan plugin server web.
- Tentukan
Contoh (menonaktifkan plugin):
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode
"config": {
"softwareConfig": {
"web_server_plugins_mode": "PLUGINS_DISABLED"
}
}
Contoh (mengaktifkan plugin):
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode
"config": {
"softwareConfig": {
"web_server_plugins_mode": "PLUGINS_ENABLED"
}
}
Memecahkan masalah plugin
Plugin menyebabkan masalah pada UI Airflow
Anda dapat menonaktifkan plugin server web tanpa menghapusnya. Untuk mengetahui informasi selengkapnya, lihat Menonaktifkan plugin server web.
Plugin yang baru diupload tidak terlihat di UI Airflow
Jika Anda menggunakan Kontrol Akses UI Airflow, plugin yang baru
diupload mungkin tidak terlihat di UI Airflow. Untuk mengatasi masalah ini, minta
Administrator UI Airflow untuk mengonfigurasi akses ke plugin yang baru diupload atau
berikan peran Admin
kepada diri Anda sendiri di UI Airflow.