Menginstal plugin kustom

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

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Temukan lingkungan Anda, lalu ikuti link DAG.

  3. Naik satu tingkat folder, lalu buka folder plugins/.

  4. 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 folder plugins. Jika tidak, hapus argumen --destination.

Lihat daftar plugin

Konsol

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Temukan lingkungan Anda, lalu ikuti link DAG.

  3. Naik satu tingkat folder, lalu buka folder plugins/.

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

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Temukan lingkungan Anda, lalu ikuti link DAG.

  3. Naik satu tingkat folder, lalu buka folder plugins/.

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

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Temukan lingkungan Anda, lalu ikuti link DAG.

  3. Naik satu tingkat folder, lalu buka folder plugins/.

  4. 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 lingkungan
  • LOCATION: wilayah tempat lingkungan berada

API

  1. Buat permintaan environments.patch API.

  2. Dalam permintaan ini:

    1. Di parameter updateMask, tentukan mask config.software_config.web_server_plugins_mode.

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

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.

Langkah selanjutnya