Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Halaman ini menjelaskan cara menginstal plugin kustom di Cloud Composer lingkungan fleksibel App Engine.
Pengelola plugin Apache Airflow memungkinkan Anda menulis layanan Operator, hook, sensor, atau antarmuka Apache Airflow. Untuk informasi selengkapnya, lihat plugin kustom dalam dokumentasi Airflow.
Tentang plugin kustom
Saat Anda membuat lingkungan, Cloud Composer
membuat bucket Cloud Storage dan mengaitkannya
dengan lingkungan Anda. Anda menggunakan folder plugins
di
bucket lingkungan untuk menginstal plugin kustom.
Sebelum memulai
- Akun Anda harus memiliki peran yang mengizinkan menonton dan mengubah isi bucket lingkungan Anda.
- Metode pemasangan ini hanya berlaku untuk Plugin Airflow. Sebagai contoh, Anda tidak dapat menggunakan metode ini untuk menginstal modul Python umum atau library lainnya.
- Plugin harus sesuai dengan template plugin Airflow kami.
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, lalu ikuti link DAG.
Naik satu tingkat folder, lalu buka folder
plugins/
.Upload file plugin. 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 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 di folderplugins
. Jika tidak, hapus argumen--destination
.
Lihat daftar plugin
Konsol
Di Konsol Google Cloud, buka halaman Environments.
Temukan lingkungan Anda, lalu ikuti link DAG.
Naik satu tingkat folder, lalu buka folder
plugins/
.Lihat 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 berada.
Menghapus plugin
Untuk menghapus plugin dari lingkungan Cloud Composer,
menghapus kode plugin dari folder plugins
di bucket lingkungan.
Untuk menghapus plugin:
Konsol
Di Konsol Google Cloud, buka halaman Environments.
Temukan lingkungan Anda, lalu ikuti link DAG.
Naik satu tingkat folder, lalu buka folder
plugins/
.Hapus file plugin. Untuk informasi selengkapnya tentang penghapusan objek, lihat Menghapus objek.
gcloud
Gunakan perintah gcloud
berikut:
gcloud composer environments storage plugins delete \
--environment ENVIRONMENT_NAME \
--location LOCATION \
PLUGIN_TO_DELETE
Download plugin
Untuk mendownload plugin, pilih salah satu opsi:
Konsol
Di Konsol Google Cloud, buka halaman Environments.
Temukan lingkungan Anda, lalu ikuti link DAG.
Naik satu tingkat folder, lalu buka folder
plugins/
.Download file plugin. Untuk 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 berada.PATH_TO_LOCAL_DESTINATION
dengan tujuan untuk file yang didownload.- (Opsional)
--source
adalah opsi untuk mendownload satu plugin saja.PATH_IN_FOLDER
adalah jalur folder.
Nonaktifkan 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 server web plugins:
--no-support-web-server-plugins
: nonaktifkan plugin server web--support-web-server-plugins
: mengaktifkan plugin server web
Untuk menonaktifkan plugin server web, jalankan perintah berikut Perintah Google Cloud CLI:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--no-support-web-server-plugins
Untuk mengaktifkan plugin server web, jalankan perintah berikut Perintah Google Cloud CLI:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--support-web-server-plugins
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkunganLOCATION
: wilayah tempat lingkungan berada
API
Buat permintaan
environments.patch
API.Dalam permintaan ini:
Di 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 (nonaktifkan 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 (aktifkan 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 selengkapnya informasi selengkapnya, lihat Menonaktifkan plugin server web.
Plugin yang baru diupload tidak terlihat di UI Airflow
Jika Anda menggunakan Airflow UI Access Control,
plugin yang diupload mungkin tidak terlihat di UI Airflow. Untuk mengatasi masalah ini, minta
Administrator UI Airflow untuk mengonfigurasi akses ke plugin yang baru diupload atau
tetapkan peran Admin
di UI Airflow kepada diri Anda sendiri.