Menskalakan lingkungan

Cloud Composer 1 | Cloud Composer 2

Halaman ini menjelaskan cara menskalakan lingkungan Cloud Composer di Cloud Composer 2.

Halaman lain tentang penskalaan:

Menskalakan secara vertikal dan horizontal

Opsi untuk penskalaan horizontal:

Opsi untuk penskalaan vertikal:

Menyesuaikan jumlah minimum dan maksimum pekerja

Anda dapat menetapkan jumlah minimum dan maksimum pekerja untuk lingkungan Anda. Cloud Composer otomatis menskalakan lingkungan Anda dalam batas yang ditetapkan. Anda dapat menyesuaikan batas ini kapan saja.

Konsol

  1. Buka halaman Environments di Konsol Google Cloud:

    Buka halaman Environment

  2. Pilih lingkungan Anda.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Sumber daya > Konfigurasi beban kerja, klik Edit.

  5. Pada dialog Workloads configuration, di bagian Workers autoscaling, sesuaikan batas untuk pekerja Airflow:

    • Di kolom Minimum number of worker, tentukan jumlah pekerja Airflow yang harus selalu dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban.

    • Di kolom Maximum number of worker, tentukan jumlah maksimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi angka ini, meskipun jumlah pekerja yang lebih tinggi diperlukan untuk menangani beban.

  6. Klik Simpan.

gcloud

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --min-workers WORKERS_MIN \
  --max-workers WORKERS_MAX

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • WORKERS_MIN dengan jumlah minimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak di bawah jumlah ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban.
  • WORKERS_MAX dengan jumlah maksimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi angka ini, meskipun diperlukan jumlah pekerja yang lebih tinggi untuk menangani beban.

Contoh:

gcloud composer environments update example-environment \
  --location us-central1 \
  --min-workers 2 \
  --max-workers 6

API

  1. Buat permintaan environments.patch API.

  2. Dalam permintaan ini:

    1. Dalam parameter updateMask, tentukan mask config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount.

    2. Dalam isi permintaan, di kolom minCount dan maxCount, tentukan batas pekerja baru.

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": WORKERS_MIN,
      "maxCount": WORKERS_MAX
    }
  }
}

Ganti:

  • WORKERS_MIN dengan jumlah minimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak di bawah jumlah ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban.
  • WORKERS_MAX dengan jumlah maksimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi angka ini, meskipun diperlukan jumlah pekerja yang lebih tinggi untuk menangani beban.

Contoh:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.worker.minCount,
// config.workloadsConfig.worker.maxCount

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": 2,
      "maxCount": 6
    }
  }
}

Terraform

Kolom min_count dan max_count di blok workloadsConfig.worker menentukan jumlah minimum dan maksimum pekerja di lingkungan Anda:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      worker {
        min_count = WORKERS_MIN
        max_count = WORKERS_MAX
      }
    }

  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • WORKERS_MIN dengan jumlah minimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak di bawah jumlah ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban.
  • WORKERS_MAX dengan jumlah maksimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi angka ini, meskipun diperlukan jumlah pekerja yang lebih tinggi untuk menangani beban.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      worker {
        min_count = 2
        max_count = 6
      }
    }

  }
}

Menyesuaikan jumlah penjadwal

Lingkungan Anda dapat menjalankan lebih dari satu penjadwal Airflow secara bersamaan. Gunakan beberapa penjadwal untuk mendistribusikan beban di antara beberapa instance penjadwal untuk performa dan keandalan yang lebih baik.

Anda dapat memiliki hingga 10 penjadwal di lingkungan Anda.

Meningkatkan jumlah penjadwal tidak selalu meningkatkan performa Airflow. Misalnya, memiliki hanya satu penjadwal mungkin memberikan performa yang lebih baik daripada memiliki dua penjadwal. Hal ini dapat terjadi saat penjadwal tambahan tidak digunakan, sehingga menghabiskan resource lingkungan Anda tanpa berkontribusi pada performa keseluruhan. Performa penjadwal sebenarnya bergantung pada jumlah pekerja Airflow, jumlah DAG dan tugas yang berjalan di lingkungan Anda, serta konfigurasi Airflow dan lingkungan.

Sebaiknya mulai dengan dua penjadwal, lalu pantau performa lingkungan Anda. Jika mengubah jumlah penjadwal, Anda selalu dapat menskalakan lingkungan kembali ke jumlah penjadwal asli.

Untuk informasi selengkapnya tentang mengonfigurasi beberapa penjadwal, lihat dokumentasi Airflow.

Untuk mengubah jumlah penjadwal untuk lingkungan Anda:

Konsol

  1. Buka halaman Environments di Konsol Google Cloud:

    Buka halaman Environment

  2. Pilih lingkungan Anda.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Sumber daya > Konfigurasi beban kerja, klik Edit.

  5. Pada dialog Workloads configuration, di menu drop-down Number of schedulers, tetapkan jumlah penjadwal untuk lingkungan Anda.

  6. Klik Simpan.

gcloud

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --scheduler-count SCHEDULER_COUNT

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • SCHEDULER_COUNT dengan jumlah penjadwal.

Contoh:

gcloud composer environments update example-environment \
  --location us-central1 \
  --scheduler-count 2

API

  1. Buat permintaan environments.patch API.

  2. Dalam permintaan ini:

    1. Dalam parameter updateMask, tentukan mask config.softwareConfig.workloadsConfig.scheduler.

    2. Dalam isi permintaan, di kolom count, tentukan jumlah penjadwal.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "count": SCHEDULER_COUNT
    }
  }
}

Ganti:

  • SCHEDULER_COUNT dengan jumlah penjadwal.

Contoh:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environmentsexample-environment?updateMask=
// config.workloadsConfig.scheduler

"config": {
  "workloadsConfig": {
    "scheduler": {
      "count": 2
    }
  }
}

Terraform

Kolom count di blok workloads_config.scheduler menentukan jumlah penjadwal di lingkungan Anda:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      scheduler {
        count = SCHEDULER_COUNT
      }
    }

  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • SCHEDULER_COUNT dengan jumlah penjadwal.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {

      scheduler {
        count = 2
      }

    }
  }
}

Sesuaikan jumlah pemicu

Anda dapat menetapkan jumlah pemicu ke nol, tetapi memerlukan setidaknya satu instance pemicu di lingkungan Anda (atau setidaknya dua di lingkungan yang sangat tangguh), untuk menggunakan operator yang dapat ditangguhkan di DAG Anda.

Bergantung pada setelan ketahanan lingkungan Anda, ada berbagai kemungkinan konfigurasi untuk jumlah pemicu:

  • Ketahanan standar: Anda dapat menjalankan hingga 10 pemicu
  • Ketahanan tinggi: minimal 2 pemicu, hingga maksimum 10

Meskipun jumlah pemicu disetel ke nol, definisi pod pemicu akan dibuat dan terlihat di cluster lingkungan Anda, tetapi tidak ada beban kerja pemicu sebenarnya yang dijalankan.

Jika Anda memiliki lebih dari nol pemicu, pemicu akan ditagih dengan SKU Compute Cloud Composer, seperti komponen lingkungan lainnya.

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 item Sumber Daya > Beban Kerja, klik Edit. Panel Workloads configuration akan terbuka.

  5. Di bagian Pemicu, gunakan kolom Jumlah pemicu untuk memasukkan jumlah pemicu di lingkungan Anda.

    Jika Anda menetapkan setidaknya satu pemicu untuk lingkungan, gunakan kolom CPU, dan Memory untuk mengonfigurasi alokasi resource untuk pemicu Anda.

  6. Klik Simpan dan tunggu hingga lingkungan Anda diupdate.

gcloud

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --triggerer-count TRIGGERER_COUNT
  --triggerer-cpu TRIGGERER_CPU,
  --triggerer-memory TRIGGERER_MEMORY

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • TRIGGERER_COUNT dengan jumlah pemicu.

    • Untuk lingkungan ketahanan standar, gunakan nilai antara 0 dan 10.
    • Untuk lingkungan yang sangat tahan, gunakan 0, atau nilai antara 2 dan 10.
  • TRIGGERER_CPU dengan jumlah CPU untuk pemicu, dalam unit vCPU. Tanda ini bersifat opsional. Jika tidak diberikan, nilai default vCPU 0.5 akan digunakan. Nilai yang diizinkan: 0.5, 0.75, 1.

  • TRIGGERER_MEMORY dengan jumlah memori untuk pemicu. Flag ini bersifat opsional. Jika tidak diberikan, nilai default 0.5 GB akan digunakan.

    Memori minimum yang diperlukan sama dengan jumlah CPU yang dialokasikan untuk pemicu. Nilai maksimum yang diizinkan sama dengan jumlah CPU pemicu yang dikalikan dengan 6,5.

    Misalnya, jika Anda menetapkan tanda --triggerer-cpu ke 1, nilai minimum untuk --triggerer-memory adalah 1 dan nilai maksimum adalah 6.5.

Contoh:

  • Menonaktifkan pemicu dengan menetapkan jumlah pemicu ke 0. Operasi ini tidak perlu menentukan CPU atau memori untuk pemicu.

    gcloud composer environments update example-environment \
      --location us-central1 \
      --triggerer-count 0
    
  • Penskalaan ke beberapa instance pemicu:

    gcloud composer environments update example-environment \
      --location us-central1 \
      --triggerer-count 4 \
      --triggerer-cpu 1 \
      --triggerer-memory 1GB
    

API

  1. Buat permintaan environments.patch API.

  2. Dalam parameter kueri updateMask, tentukan mask config.workloadsConfig.triggerer.

  3. Dalam isi permintaan, gunakan objek berikut

  "config": {
    "workloadsConfig": {
      "triggerer": {
        "count": TRIGGERER_COUNT,
        "cpu": TRIGGERER_CPU,
        "memoryGb": TRIGGERER_MEMORY
      }
    }
  }

Ganti:

  • TRIGGERER_COUNT dengan jumlah pemicu.

    • Untuk lingkungan ketahanan standar, gunakan nilai antara 0 dan 10.
    • Untuk lingkungan yang sangat tahan, gunakan 0, atau nilai antara 2 dan 10.

      Jika menggunakan setidaknya satu pemicu, Anda juga harus menentukan nilai untuk TRIGGERER_CPU dan TRIGGERER_MEMORY:

      • Tetapkan TRIGGERER_CPU ke jumlah CPU untuk pemicu, dalam unit vCPU. Nilai yang diizinkan: 0.5, 0.75, 1.

      • Setel TRIGGERER_MEMORY ke jumlah memori untuk pemicu. Memori minimum yang diperlukan sama dengan jumlah CPU yang dialokasikan untuk pemicu. Nilai maksimum yang diizinkan sama dengan jumlah CPU pemicu dikalikan dengan 6,5.

        Misalnya, jika Anda menetapkan TRIGGERER_CPU ke 1, nilai minimum untuk TRIGGERER_MEMORY adalah 1 dan nilai maksimum adalah 6.5.

Contoh:

  • Menonaktifkan pemicu dengan menetapkan jumlah pemicu ke 0. Operasi ini tidak perlu menentukan CPU atau memori untuk pemicu.

    // PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
    // locations/us-central1/environments/example-environment?updateMask=
    // config.workloadsConfig.triggerer
    "config": {
      "workloadsConfig": {
        "triggerer": {
          "count": 0
        }
      }
    }
    
  • Penskalaan ke beberapa instance pemicu:

    // PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
    // locations/us-central1/environments/example-environment?updateMask=
    // config.workloadsConfig.triggerer
    "config": {
      "workloadsConfig": {
        "triggerer": {
          "count": 4,
          "cpu": 1,
          "memoryGb": 1
        }
      }
    }
    

Terraform

Kolom count di blok workloads_config.triggerer menentukan jumlah pemicu di lingkungan Anda:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      triggerer {
        count = TRIGGERER_COUNT
      }
    }

  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • TRIGGERER_COUNT dengan jumlah pemicu.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {

      triggerer {
        count = 1
      }

    }
  }
}

Menyesuaikan skala pekerja, penjadwal, pemicu, dan server web serta parameter performa

Anda dapat menentukan jumlah CPU, memori, dan kapasitas disk yang digunakan oleh lingkungan Anda. Dengan cara ini, Anda dapat meningkatkan performa lingkungan, selain penskalaan horizontal yang disediakan dengan menggunakan beberapa pekerja dan penjadwal.

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 item Sumber Daya > Beban Kerja, klik Edit. Panel Workloads configuration akan terbuka.

  5. Di menu drop-down Number of schedulers dan Number of triggerers, pilih jumlah penjadwal dan pemicu di lingkungan Anda.

  6. Di panel Workloads configuration, di kolom CPU, Memory, dan Storage, tentukan jumlah CPU, memori, dan penyimpanan untuk penjadwal, pemicu, server web, dan pekerja Airflow.

  7. Klik Simpan.

gcloud

Argumen berikut mengontrol parameter CPU, memori, dan kapasitas disk dari penjadwal Airflow, server web, dan pekerja. Setiap penjadwal dan pekerja menggunakan jumlah resource yang ditentukan.

  • --scheduler-cpu menentukan jumlah CPU untuk penjadwal Airflow.
  • --scheduler-memory menentukan jumlah memori untuk penjadwal Airflow.
  • --scheduler-storage menentukan jumlah kapasitas disk untuk penjadwal Airflow.
  • --triggerer-cpu menentukan jumlah CPU untuk pemicu Airflow. Nilai yang diizinkan: 0.5, 0.75, 1. Jika Anda ingin menyesuaikan CPU pemicu, flag --triggerer-memory dan --triggerer-count juga diperlukan.
  • --triggerer-memory menentukan jumlah memori untuk pemicu Airflow. Jika Anda ingin menyesuaikan memori pemicu, flag --triggerer-cpu dan --triggerer-count juga diperlukan.

    Memori minimum yang diperlukan sama dengan jumlah CPU yang dialokasikan untuk pemicu. Nilai maksimum yang diizinkan sama dengan jumlah CPU pemicu dikalikan dengan 6,5.

    Misalnya, jika Anda menetapkan tanda --triggerer-cpu ke 1, nilai minimum untuk --triggerer-memory adalah 1 dan nilai maksimum adalah 6.5.

  • --web-server-cpu menentukan jumlah CPU untuk server web Airflow.

  • --web-server-memory menentukan jumlah memori untuk server web Airflow.

  • --web-server-storage menentukan jumlah ruang disk untuk server web Airflow.

  • --worker-cpu menentukan jumlah CPU untuk pekerja Airflow.

  • --worker-memory menentukan jumlah memori untuk pekerja Airflow.

  • --worker-storage menentukan jumlah kapasitas disk untuk pekerja Airflow.

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --scheduler-cpu SCHEDULER_CPU \
    --scheduler-memory SCHEDULER_MEMORY \
    --scheduler-storage SCHEDULER_STORAGE \
    --triggerer-count TRIGGERER_COUNT \
    --triggerer-cpu TRIGGERER_CPU \
    --triggerer-memory TRIGGERER_MEMORY \
    --web-server-cpu WEB_SERVER_CPU \
    --web-server-memory WEB_SERVER_MEMORY \
    --web-server-storage WEB_SERVER_STORAGE \
    --worker-cpu WORKER_CPU \
    --worker-memory WORKER_MEMORY \
    --worker-storage WORKER_STORAGE

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • SCHEDULER_CPU dengan jumlah CPU untuk penjadwal, dalam unit vCPU.
  • SCHEDULER_MEMORY dengan jumlah memori untuk penjadwal.
  • SCHEDULER_STORAGE dengan ukuran disk untuk penjadwal.
  • TRIGGERER_COUNT dengan jumlah pemicu. Nilai ini diperlukan meskipun Anda tidak ingin mengubah jumlah pemicu saat ini dan hanya ingin menyesuaikan alokasi CPU atau memori.
  • TRIGGERER_CPU dengan jumlah CPU untuk pemicu, dalam unit vCPU.
  • TRIGGERER_MEMORY dengan jumlah memori untuk pemicu.
  • WEB_SERVER_CPU dengan jumlah CPU untuk server web, dalam unit vCPU.
  • WEB_SERVER_MEMORY dengan jumlah memori untuk server web.
  • WEB_SERVER_STORAGE dengan jumlah memori untuk server web.
  • WORKER_CPU dengan jumlah CPU untuk pekerja, dalam unit vCPU.
  • WORKER_MEMORY dengan jumlah memori untuk pekerja.
  • WORKER_STORAGE dengan ukuran disk untuk pekerja.

Contoh:

gcloud composer environments update example-environment \
    --location us-central1 \
    --scheduler-cpu 0.5 \
    --scheduler-memory 2.5GB\
    --scheduler-storage 2GB \
    --triggerer-count 2 \
    --triggerer-cpu 1 \
    --triggerer-memory 1GB \
    --web-server-cpu 1 \
    --web-server-memory 2.5GB \
    --web-server-storage 2GB \
    --worker-cpu 1 \
    --worker-memory 2GB \
    --worker-storage 2GB

API

  1. Buat permintaan environments.patch API.

  2. Dalam permintaan ini:

    1. Di parameter updateMask, tentukan kolom yang ingin Anda perbarui. Misalnya, untuk mengupdate semua parameter untuk penjadwal, tentukan mask config.workloadsConfig.scheduler.cpu,config.workloadsConfig.scheduler.memoryGb,config.workloadsConfig.scheduler.storageGB.

    Saat memperbarui parameter pemicu, tentukan mask config.workloadsConfig.triggerer. Anda tidak dapat menentukan mask untuk setiap parameter pemicu.

    1. Dalam isi permintaan, tentukan parameter skala dan performa.
  "config": {
    "workloadsConfig": {
      "scheduler": {
        "cpu": SCHEDULER_CPU,
        "memoryGb": SCHEDULER_MEMORY,
        "storageGb": SCHEDULER_STORAGE
      },
      "triggerer": {
        "count": TRIGGERER_COUNT,
        "cpu": TRIGGERER_CPU,
        "memoryGb": TRIGGERER_MEMORY
      }
      "webServer": {
        "cpu": WEB_SERVER_CPU,
        "memoryGb": WEB_SERVER_MEMORY,
        "storageGb": WEB_SERVER_STORAGE
      },
      "worker": {
        "cpu": WORKER_CPU,
        "memoryGb": WORKER_MEMORY,
        "storageGb": WORKER_STORAGE
      }
    }
  }

Ganti:

  • SCHEDULER_CPU dengan jumlah CPU untuk penjadwal, dalam unit vCPU.
  • SCHEDULER_MEMORY dengan jumlah memori untuk penjadwal, dalam GB.
  • SCHEDULER_STORAGE dengan ukuran disk untuk penjadwal, dalam GB.
  • TRIGGERER_COUNT dengan jumlah pemicu. Parameter ini diperlukan meskipun Anda tidak ingin mengubah jumlah pemicu saat ini dan hanya ingin menyesuaikan alokasi CPU atau memori-nya.
  • TRIGGERER_CPU dengan jumlah CPU untuk pemicu, dalam unit vCPU. Nilai yang diizinkan: 0.5, 0.75, 1.
  • TRIGGERER_MEMORY dengan jumlah memori untuk pemicu.

    Memori minimum yang diperlukan sama dengan jumlah CPU yang dialokasikan untuk pemicu. Nilai maksimum yang diizinkan sama dengan jumlah CPU pemicu dikalikan dengan 6,5.

    Misalnya, jika Anda menetapkan TRIGGERER_CPU ke 1, nilai minimum untuk TRIGGERER_MEMORY adalah 1 dan nilai maksimum adalah 6.5.

  • WEB_SERVER_CPU dengan jumlah CPU untuk server web, dalam unit vCPU.

  • WEB_SERVER_MEMORY dengan jumlah memori untuk server web, dalam GB.

  • WEB_SERVER_STORAGE dengan ukuran disk untuk server web, dalam GB.

  • WORKER_CPU dengan jumlah CPU untuk pekerja, dalam unit vCPU.

  • WORKER_MEMORY dengan jumlah memori untuk pekerja, dalam GB.

  • WORKER_STORAGE dengan ukuran disk untuk pekerja, dalam GB.

Contoh:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.scheduler.cpu,
// config.workloadsConfig.scheduler.memoryGB,
// config.workloadsConfig.scheduler.storageGb,
// config.workloadsConfig.triggerer
// config.workloadsConfig.webServer.cpu,
// config.workloadsConfig.webServer.memoryGb,
// config.workloadsConfig.webServer.storageGb,
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGb

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    },
    "triggerer": {
      "count": 1,
      "cpu": 1,
      "memoryGb": 1
    },
    "webServer": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    },
    "worker": {
      "cpu": 1,
      "memoryGb": 2,
      "storageGb": 2
    }
  }
}

Terraform

Blok berikut dalam blok workloadsConfig mengontrol parameter CPU, memori, dan ruang disk penjadwal Airflow, server web, pemicu, dan pekerja. Setiap penjadwal, pemicu, dan pekerja menggunakan jumlah resource yang ditentukan.

  • Kolom scheduler.cpu menentukan jumlah CPU untuk penjadwal Airflow.
  • Kolom scheduler.memory_gb menentukan jumlah memori untuk penjadwal Airflow.
  • Kolom scheduler.storage_gb menentukan jumlah kapasitas disk untuk penjadwal.
  • Kolom triggerer.cpu menentukan jumlah CPU untuk pemicu Airflow.
  • Kolom triggerer.memory_gb menentukan jumlah memori untuk pemicu Airflow.
  • Kolom web_server.cpu menentukan jumlah CPU untuk server web Airflow.
  • Kolom web_server.memory_gb menentukan jumlah memori untuk server web Airflow.
  • Kolom web_server.storage_gb menentukan jumlah kapasitas disk untuk server web Airflow.
  • Kolom worker.cpu menentukan jumlah CPU untuk pekerja Airflow.
  • Kolom worker.memory_gb menentukan jumlah memori untuk pekerja Airflow.
  • Kolom worker.storage_gb menentukan jumlah kapasitas disk untuk pekerja Airflow.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {

      scheduler {
        cpu = SCHEDULER_CPU
        memory_gb = SCHEDULER_MEMORY
        storage_gb = SCHEDULER_STORAGE
      }
      triggerer {
        cpu = TRIGGERER_CPU
        memory_gb = TRIGGERER_MEMORY
        count = 1
      }
      web_server {
        cpu = WEB_SERVER_CPU
        memory_gb = WEB_SERVER_MEMORY
        storage_gb = WEB_SERVER_STORAGE
      }
      worker {
        cpu = WORKER_CPU
        memory_gb = WORKER_MEMORY
        storage_gb = WORKER_STORAGE
      }
    }

  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • SCHEDULER_CPU dengan jumlah CPU untuk penjadwal, dalam unit vCPU.
  • SCHEDULER_MEMORY dengan jumlah memori untuk penjadwal, dalam GB.
  • SCHEDULER_STORAGE dengan ukuran disk untuk penjadwal, dalam GB.
  • TRIGGERER_CPU dengan jumlah CPU untuk pemicu, dalam unit vCPU.
  • TRIGGERER_MEMORY dengan jumlah memori untuk pemicu, dalam GB.
  • WEB_SERVER_CPU dengan jumlah CPU untuk server web, dalam unit vCPU.
  • WEB_SERVER_MEMORY dengan jumlah memori untuk server web, dalam GB.
  • WEB_SERVER_STORAGE dengan ukuran disk untuk server web, dalam GB.
  • WORKER_CPU dengan jumlah CPU untuk pekerja, dalam unit vCPU.
  • WORKER_MEMORY dengan jumlah memori untuk pekerja, dalam GB.
  • WORKER_STORAGE dengan ukuran disk untuk pekerja, dalam GB.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {

      scheduler {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
      triggerer {
        cpu = 0.5
        memory_gb = 0.5
        count = 1
      }
      web_server {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
      worker {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
    }

  }
}

Menyesuaikan ukuran lingkungan

Ukuran Lingkungan mengontrol parameter performa infrastruktur Cloud Composer terkelola yang mencakup database Airflow. Sebaiknya pilih ukuran lingkungan yang lebih besar jika Anda ingin menjalankan DAG dan tugas dalam jumlah besar.

Konsol

  1. Buka halaman Environments di Konsol Google Cloud:

    Buka halaman Environment

  2. Pilih lingkungan Anda.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resource > Infrastruktur inti, klik Edit.

  5. Pada dialog Core infrastructure, di kolom Environment size, tentukan ukuran lingkungan.

  6. Klik Simpan.

gcloud

Argumen --environment-size mengontrol ukuran lingkungan:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --environment-size ENVIRONMENT_SIZE

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • ENVIRONMENT_SIZE dengan small, medium, atau large.

Contoh:

gcloud composer environments update example-environment \
    --location us-central1 \
    --environment-size medium

API

  1. Buat permintaan environments.patch API.

  2. Dalam permintaan ini:

    1. Dalam parameter updateMask, tentukan mask config.environmentSize.

    2. Dalam isi permintaan, tentukan ukuran lingkungan.

  "config": {
    "environmentSize": "ENVIRONMENT_SIZE"
  }

Ganti:

  • ENVIRONMENT_SIZE dengan ukuran lingkungan, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM, atau ENVIRONMENT_SIZE_LARGE.

Contoh:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.environmentSize

"config": {
  "environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}

Terraform

Kolom environment_size di blok config mengontrol ukuran lingkungan:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    environment_size = "ENVIRONMENT_SIZE"

  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • ENVIRONMENT_SIZE dengan ukuran lingkungan, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM, atau ENVIRONMENT_SIZE_LARGE.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    environment_size = "ENVIRONMENT_SIZE_SMALL"

    }
  }
}

Langkah selanjutnya