Menskalakan lingkungan

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini menjelaskan cara menskalakan lingkungan Cloud Composer.

Halaman lain tentang penskalaan:

Melakukan penskalaan secara vertikal dan horizontal

Opsi untuk penskalaan horizontal:

  • Sesuaikan jumlah pekerja minimum dan maksimum.
  • Sesuaikan jumlah penjadwal, pemroses DAG, dan pemicu.

Opsi untuk penskalaan vertikal:

  • Sesuaikan pekerja, penjadwal, pemicu, pemroses DAG, dan server web. skala dan parameter performa.
  • Sesuaikan ukuran lingkungan.

Batas resource

Komponen Jumlah minimum Jumlah maksimum vCPU minimum vCPU maksimum Langkah minimum vCPU Memori minimum (GB) Memori maksimum (GB) Langkah minimum memori (GB) Memori minimum per 1 vCPU (GB) Memori maksimum per 1 vCPU (GB) Penyimpanan minimum (GB) Penyimpanan maksimum (GB) Langkah minimum penyimpanan (GB)
Penjadwal 1 3 0,5 1 0,5 0,5 8 0,25 1 8 0 100 1
Pemicu 0 10 0,5 1 0,5 0,5 8 0,25 1 8 - - -
Server web - - 0,5 32 0,5, 1, atau kelipatan 2 1 256 0,25 1 8 0 100 1
Pekerja 1 100 0,5 32 0,5, 1, atau kelipatan 2 1 256 0,25 1 8 0 100 1
Prosesor DAG 1 3 0,5 32 0,5, 1, atau kelipatan 2 1 256 0,25 1 8 0 100 1

Menyesuaikan parameter pekerja

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

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

Konsol

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di panel Workloads configuration, sesuaikan parameter untuk pekerja Airflow:

    • Di kolom Minimum number of workers, tentukan jumlah pekerja Airflow yang harus selalu dijalankan oleh lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak akan turun di bawah jumlah ini selama operasi reguler lingkungan, meskipun jumlah pekerja yang lebih rendah dapat menangani beban.

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

    • Di kolom CPU, Memory, dan Storage, tentukan jumlah CPU, memori, dan penyimpanan untuk pekerja Airflow. Setiap pekerja menggunakan jumlah resource yang ditentukan.

  6. Klik Simpan.

gcloud

Parameter pekerja Airflow berikut tersedia:

  • --min-workers: jumlah pekerja Airflow yang harus selalu dijalankan oleh lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak akan turun di bawah jumlah ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban.
  • --max-workers: jumlah maksimum pekerja Airflow yang dapat dijalankan oleh lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, meskipun jumlah pekerja yang lebih tinggi diperlukan untuk menangani beban.
  • --worker-cpu: jumlah CPU untuk pekerja Airflow.
  • --worker-memory: jumlah memori untuk pekerja Airflow.
  • --worker-storage: jumlah ruang disk untuk pekerja Airflow.

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --min-workers WORKERS_MIN \
  --max-workers WORKERS_MAX \
  --worker-cpu WORKER_CPU \
  --worker-memory WORKER_MEMORY \
  --worker-storage WORKER_STORAGE

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • WORKERS_MIN: jumlah minimum pekerja Airflow.
  • WORKERS_MAX: jumlah maksimum pekerja Airflow.
  • WORKER_CPU: jumlah CPU untuk pekerja, dalam unit vCPU.
  • WORKER_MEMORY: jumlah memori untuk pekerja.
  • WORKER_STORAGE: ukuran disk untuk pekerja.

Contoh:

gcloud composer environments update example-environment \
  --location us-central1 \
  --min-workers 2 \
  --max-workers 6 \
  --worker-cpu 1 \
  --worker-memory 2 \
  --worker-storage 2

API

  1. Buat permintaan API environments.patch.

  2. Dalam permintaan ini:

    1. Di parameter updateMask, tentukan kolom yang ingin Anda perbarui. Misalnya, untuk memperbarui semua parameter bagi pekerja, tentukan mask config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount.

    2. Dalam isi permintaan, tentukan parameter pekerja baru.

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": WORKERS_MIN,
      "maxCount": WORKERS_MAX,
      "cpu": WORKER_CPU,
      "memoryGb": WORKER_MEMORY,
      "storageGb": WORKER_STORAGE
    }
  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • WORKERS_MIN: jumlah minimum pekerja Airflow.
  • WORKERS_MAX: jumlah maksimum pekerja Airflow.
  • WORKER_CPU: jumlah CPU untuk pekerja, dalam unit vCPU.
  • WORKER_MEMORY: jumlah memori untuk pekerja, dalam GB.
  • WORKER_STORAGE: 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.worker.minCount,
// config.workloadsConfig.worker.maxCount
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGB

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": 2,
      "maxCount": 6,
      "cpu": 1,
      "memoryGb": 2,
      "storageGb": 2
    }
  }
}

Terraform

Kolom berikut di blok workloads_config.worker mengontrol parameter pekerja Airflow. Setiap pekerja menggunakan jumlah resource yang ditentukan.

  • worker.min_count: jumlah pekerja Airflow yang harus selalu dijalankan oleh lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak akan turun di bawah jumlah ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban.
  • worker.max_count: jumlah maksimum pekerja Airflow yang dapat dijalankan oleh lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, meskipun jumlah pekerja yang lebih tinggi diperlukan untuk menangani beban.
  • worker.cpu: jumlah CPU untuk pekerja Airflow.
  • worker.memory_gb: jumlah memori untuk pekerja Airflow.
  • worker.storage_gb: jumlah ruang disk untuk pekerja Airflow.
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
        cpu = WORKER_CPU
        memory_gb = WORKER_MEMORY
        storage_gb = WORKER_STORAGE
      }
    }

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • WORKERS_MIN: jumlah minimum pekerja Airflow.
  • WORKERS_MAX: jumlah maksimum pekerja Airflow.
  • WORKER_CPU: jumlah CPU untuk pekerja, dalam unit vCPU.
  • WORKER_MEMORY: jumlah memori untuk pekerja, dalam GB.
  • WORKER_STORAGE: ukuran disk untuk pekerja, dalam GB.

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
        cpu = 1
        memory_gb = 2
        storage_gb = 2
      }
    }

  }
}

Menyesuaikan parameter 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 3 penjadwal di lingkungan Anda.

Meningkatkan jumlah penjadwal tidak selalu meningkatkan performa Airflow. Misalnya, hanya memiliki satu penjadwal mungkin memberikan performa yang lebih baik daripada memiliki dua. Hal ini dapat terjadi jika penjadwal tambahan tidak digunakan, sehingga menggunakan resource lingkungan Anda tanpa berkontribusi pada performa secara 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 awal.

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

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

Konsol

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di panel Workloads configuration, sesuaikan parameter untuk penjadwal Airflow:

    • Di menu drop-down Number of schedulers, pilih jumlah penjadwal untuk lingkungan Anda.

    • Di kolom CPU, Memory, dan Storage, tentukan jumlah CPU, memori, dan penyimpanan untuk penjadwal Airflow. Setiap penjadwal menggunakan jumlah resource yang ditentukan.

  6. Klik Simpan.

gcloud

Parameter penjadwal Airflow berikut tersedia:

  • --scheduler-count: jumlah penjadwal di lingkungan Anda.

  • --scheduler-cpu: jumlah CPU untuk penjadwal Airflow.

  • --scheduler-memory: jumlah memori untuk penjadwal Airflow.

  • --scheduler-storage: jumlah ruang disk untuk penjadwal Airflow.

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --scheduler-cpu SCHEDULER_CPU \
  --scheduler-memory SCHEDULER_MEMORY \
  --scheduler-storage SCHEDULER_STORAGE \
  --scheduler-count SCHEDULER_COUNT

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.

  • SCHEDULER_CPU: jumlah CPU untuk penjadwal, dalam unit vCPU.

  • SCHEDULER_MEMORY: jumlah memori untuk penjadwal.

  • SCHEDULER_STORAGE: ukuran disk untuk penjadwal.

  • SCHEDULER_COUNT: jumlah penjadwal.

Contoh:

gcloud composer environments update example-environment \
  --location us-central1 \
  --scheduler-cpu 0.5 \
  --scheduler-memory 2.5 \
  --scheduler-storage 2 \
  --scheduler-count 2

API

  1. Buat permintaan API environments.patch.

  2. Dalam permintaan ini:

    1. Di parameter updateMask, tentukan mask config.workloadsConfig.scheduler untuk memperbarui semua parameter penjadwal atau hanya jumlah penjadwal. Anda juga dapat memperbarui setiap parameter penjadwal kecuali count dengan menentukan mask. Contohnya, config.workloadsConfig.scheduler.cpu

    2. Dalam isi permintaan, tentukan parameter penjadwal baru.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": SCHEDULER_CPU,
      "memoryGb": SCHEDULER_MEMORY,
      "storageGb": SCHEDULER_STORAGE,
      "count": SCHEDULER_COUNT
    }
  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.

  • SCHEDULER_CPU: jumlah CPU untuk penjadwal, dalam unit vCPU.

  • SCHEDULER_MEMORY: jumlah memori untuk penjadwal, dalam GB.

  • SCHEDULER_STORAGE: ukuran disk untuk penjadwal, dalam GB.

  • SCHEDULER_COUNT: jumlah penjadwal.

Contoh:

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

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2,
      "count": 2
    }
  }
}

Terraform

Kolom berikut di blok workloads_config.scheduler mengontrol parameter penjadwal Airflow. Setiap penjadwal menggunakan jumlah resource yang ditentukan.

  • scheduler.count: jumlah penjadwal di lingkungan Anda.

  • scheduler.cpu: jumlah CPU untuk penjadwal Airflow.

  • scheduler.memory_gb: jumlah memori untuk penjadwal Airflow.

  • scheduler.storage_gb: jumlah ruang disk untuk penjadwal.

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
        count = SCHEDULER_COUNT
      }
    }

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.

  • SCHEDULER_CPU: jumlah CPU untuk penjadwal, dalam unit vCPU.

  • SCHEDULER_MEMORY: jumlah memori untuk penjadwal, dalam GB.

  • SCHEDULER_STORAGE: ukuran disk untuk penjadwal, dalam GB.

  • SCHEDULER_COUNT: jumlah penjadwal.

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
        
        count = 2
      }
    }

  }
}

Menyesuaikan parameter pemicu

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

Bergantung pada mode 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 ditetapkan ke nol, definisi pod pemicu akan dibuat dan terlihat di cluster lingkungan Anda, tetapi tidak ada beban kerja pemicu yang sebenarnya dijalankan.

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

Konsol

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di panel Workloads configuration, sesuaikan parameter untuk pemicu Airflow:

    1. Di bagian Pemicu, di kolom Jumlah pemicu, masukkan jumlah pemicu di lingkungan Anda.

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

    2. Di CPU dan Memory, tentukan jumlah CPU, memori, dan penyimpanan untuk pemicu Airflow. Setiap pemicu menggunakan jumlah resource yang ditentukan.

  6. Klik Simpan.

gcloud

Parameter pemicu Airflow berikut tersedia:

  • --triggerer-count: jumlah pemicu di lingkungan Anda.

    • Untuk lingkungan ketahanan standar, gunakan nilai antara 0 dan 10.
    • Untuk lingkungan yang sangat tangguh, gunakan 0, atau nilai antara 2 dan 10.
  • --triggerer-cpu: jumlah CPU untuk pemicu Airflow.

  • --triggerer-memory: jumlah memori untuk pemicu Airflow.

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 kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • TRIGGERER_COUNT: jumlah pemicu.
  • TRIGGERER_CPU: jumlah CPU untuk pemicu, dalam unit vCPU.
  • TRIGGERER_MEMORY: jumlah memori untuk pemicu.

Contoh:

  • Menskalakan ke empat instance pemicu:
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 4 \
    --triggerer-cpu 1 \
    --triggerer-memory 1
  ```

- Disable triggerers by setting triggerer count to `0`. This operation
  doesn't require specifying CPU or memory for the triggerers.

```bash
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 0
  ```

API

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

  2. Dalam isi permintaan, tentukan ketiga parameter untuk pemicu.

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

Ganti kode berikut:

  • TRIGGERER_COUNT: jumlah pemicu.

    • Untuk lingkungan ketahanan standar, gunakan nilai antara 0 dan 10.
    • Untuk lingkungan yang sangat tangguh, gunakan 0, atau nilai antara 2 dan 10.
  • TRIGGERER_CPU: jumlah CPU untuk pemicu, dalam unit vCPU.

  • TRIGGERER_MEMORY: jumlah memori untuk pemicu.

Contoh:

  • Nonaktifkan pemicu dengan menetapkan jumlah pemicu ke 0. Operasi ini tidak memerlukan penentuan CPU atau memori untuk pemicu.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 0
    }
  }
}
  • Menskalakan ke empat instance pemicu:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 4,
      "cpu": 1,
      "memoryGb": 1
    }
  }
}

Terraform

Kolom berikut di blok workloads_config.triggerer mengontrol parameter pemicu Airflow. Setiap pemicu menggunakan jumlah resource yang ditentukan.

  • triggerer.count: jumlah pemicu di lingkungan Anda.

    • Untuk lingkungan ketahanan standar, gunakan nilai antara 0 dan 10.
    • Untuk lingkungan yang sangat tangguh, gunakan 0, atau nilai antara 2 dan 10.
  • triggerer.cpu: jumlah CPU untuk pemicu Airflow.

  • triggerer.memory_gb: jumlah memori untuk pemicu Airflow.

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

  config {

    workloads_config {
      triggerer {
        count = TRIGGERER_COUNT
        cpu = TRIGGERER_CPU
        memory_gb = TRIGGERER_MEMORY
      }
    }

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • TRIGGERER_COUNT: jumlah pemicu.
  • TRIGGERER_CPU: jumlah CPU untuk pemicu, dalam unit vCPU.
  • TRIGGERER_MEMORY: jumlah memori untuk pemicu, dalam GB.

Contoh:

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

  config {

    workloads_config {
      triggerer {
        count = 1
        cpu = 0.5
        memory_gb = 0.5
      }
    }

  }
}

Menyesuaikan parameter prosesor DAG

Anda dapat menentukan jumlah pemroses DAG di lingkungan dan jumlah CPU, memori, dan ruang disk yang digunakan oleh setiap pemroses DAG.

Konsol

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di panel Workloads configuration, sesuaikan parameter untuk pemroses DAG Airflow:

    • Di menu drop-down Number of DAG processors, pilih jumlah pemroses DAG untuk lingkungan Anda.

    • Di kolom CPU, Memory, dan Storage, tentukan jumlah CPU, memori, dan penyimpanan untuk pemroses DAG Airflow. Setiap pemroses DAG menggunakan jumlah resource yang ditentukan.

  6. Klik Simpan.

gcloud

Parameter pemroses DAG Airflow berikut tersedia:

  • --dag-processor-count: jumlah pemroses DAG.
  • --dag-processor-cpu: jumlah CPU untuk prosesor DAG.
  • --dag-processor-memory: jumlah memori untuk pemroses DAG.
  • --dag-processor-storage: jumlah ruang disk untuk pemroses DAG.

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
    --dag-processor-count DAG_PROCESSOR_COUNT \
    --dag-processor-cpu DAG_PROCESSOR_CPU \
    --dag-processor-memory DAG_PROCESSOR_MEMORY \
    --dag-processor-storage DAG_PROCESSOR_STORAGE

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • DAG_PROCESSOR_CPU: jumlah CPU untuk prosesor DAG.
  • DAG_PROCESSOR_MEMORY: jumlah memori untuk pemroses DAG.
  • DAG_PROCESSOR_STORAGE: jumlah ruang disk untuk pemroses DAG.

Contoh:

gcloud composer environments update example-environment \
  --location us-central1 \
  --dag-processor-count 2 \
  --dag-processor-cpu 0.5 \
  --dag-processor-memory 2 \
  --dag-processor-storage 1

API

  1. Buat permintaan API environments.patch.

  2. Dalam permintaan ini:

    1. Pada parameter updateMask, tentukan mask config.workloadsConfig.dagProcessor untuk memperbarui semua parameter prosesor DAG, termasuk jumlah prosesor DAG. Anda juga dapat memperbarui setiap parameter pemroses DAG dengan menentukan mask. Contohnya, config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb.

    2. Dalam isi permintaan, tentukan parameter pemroses DAG baru.

"config": {
  "workloadsConfig": {
    "dagProcessor": {
      "count": DAG_PROCESSOR_COUNT,
      "cpu": DAG_PROCESSOR_CPU,
      "memoryGb": DAG_PROCESSOR_MEMORY,
      "storageGb": DAG_PROCESSOR_STORAGE
    }
  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • DAG_PROCESSOR_COUNT: jumlah pemroses DAG.
  • DAG_PROCESSOR_CPU: jumlah CPU untuk pemroses DAG, dalam unit vCPU.
  • DAG_PROCESSOR_MEMORY: jumlah memori untuk pemroses DAG, dalam GB.
  • DAG_PROCESSOR_STORAGE: jumlah ruang disk untuk pemroses DAG, dalam GB.

Contoh:

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

"config": {
  "workloadsConfig": {
    "scheduler": {
      "count": 2
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

Kolom berikut di blok workloads_config.dag_processor mengontrol parameter pemroses DAG Airflow. Setiap pemroses DAG menggunakan jumlah resource yang ditentukan.

  • dag_processor.count: jumlah prosesor DAG di lingkungan Anda.
  • dag_processor.cpu: jumlah CPU untuk pemroses DAG.
  • dag_processor.memory_gb: jumlah memori untuk prosesor DAG.
  • dag_processor.storage_gb jumlah ruang disk untuk pemroses DAG.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      dag_processor {
        count = DAG_PROCESSOR_COUNT
        cpu = DAG_PROCESSOR_CPU
        memory_gb = DAG_PROCESSOR_MEMORY
        storage_gb = DAG_PROCESSOR_STORAGE
      }
    }

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • DAG_PROCESSOR_COUNT: jumlah pemroses DAG.
  • DAG_PROCESSOR_CPU: jumlah CPU untuk pemroses DAG, dalam unit vCPU.
  • DAG_PROCESSOR_MEMORY: jumlah memori untuk pemroses DAG, dalam GB.
  • DAG_PROCESSOR_STORAGE: jumlah ruang disk untuk pemroses DAG, dalam GB.

Contoh:

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

  config {

    workloads_config {
      dag_processor {
        count = 2
        cpu = 0.5
        memory_gb = 2
        storage_gb = 1
      }
    }

  }
}

Menyesuaikan parameter server web

Anda dapat menentukan jumlah CPU, memori, dan kapasitas disk yang digunakan oleh server web Airflow di lingkungan Anda. Dengan cara ini, Anda dapat menskalakan performa UI Airflow, misalnya, untuk mencocokkan permintaan yang berasal dari sejumlah besar pengguna atau sejumlah besar DAG terkelola.

Konsol

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di panel Workloads configuration, sesuaikan parameter untuk server web. Di kolom CPU, Memory, dan Storage, tentukan jumlah CPU, memori, dan penyimpanan untuk server web.

  6. Klik Simpan.

gcloud

Parameter server web Airflow berikut tersedia:

  • --web-server-cpu: jumlah CPU untuk server web Airflow.
  • --web-server-memory: jumlah memori untuk server web Airflow.
  • --web-server-storage: jumlah ruang disk untuk server web Airflow.

Jalankan perintah Google Cloud CLI berikut:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --web-server-cpu WEB_SERVER_CPU \
  --web-server-memory WEB_SERVER_MEMORY \
  --web-server-storage WEB_SERVER_STORAGE

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • WEB_SERVER_CPU: jumlah CPU untuk server web, dalam unit vCPU.
  • WEB_SERVER_MEMORY: jumlah memori untuk server web.
  • WEB_SERVER_STORAGE: jumlah memori untuk server web.

Contoh:

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-cpu 1 \
  --web-server-memory 2.5 \
  --web-server-storage 2

API

  1. Buat permintaan API environments.patch.

  2. Dalam permintaan ini:

    1. Di parameter updateMask, tentukan mask config.workloadsConfig.webServer untuk memperbarui semua parameter server web. Anda juga dapat memperbarui setiap parameter server web dengan menentukan mask untuk parameter tersebut: config.workloadsConfig.webServer.cpu, config.workloadsConfig.webServer.memoryGb, config.workloadsConfig.webServer.storageGb.

    2. Dalam isi permintaan, tentukan parameter server web baru.

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": WEB_SERVER_CPU,
      "memoryGb": WEB_SERVER_MEMORY,
      "storageGb": WEB_SERVER_STORAGE
    }
  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • WEB_SERVER_CPU: jumlah CPU untuk server web, dalam unit vCPU.
  • WEB_SERVER_MEMORY: jumlah memori untuk server web, dalam GB.
  • WEB_SERVER_STORAGE: ukuran disk untuk server web, dalam GB.

Contoh:

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

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

Kolom berikut di blok workloads_config.web_server mengontrol parameter server web.

  • web_server.cpu: jumlah CPU untuk server web.
  • web_server.memory_gb: jumlah memori untuk server web.
  • web_server.storage_gb: jumlah ruang disk untuk server web.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      web_server {
        cpu = WEB_SERVER_CPU
        memory_gb = WEB_SERVER_MEMORY
        storage_gb = WEB_SERVER_STORAGE
      }
    }

  }
}

Ganti kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • WEB_SERVER_CPU: jumlah CPU untuk server web, dalam unit vCPU.
  • WEB_SERVER_MEMORY: jumlah memori untuk server web, dalam GB.
  • WEB_SERVER_STORAGE: ukuran disk untuk server web, dalam GB.

Contoh:

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

  config {

    workloads_config {
      web_server {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
    }

  }
}

Menyesuaikan ukuran lingkungan

Ukuran lingkungan mengontrol parameter performa infrastruktur Cloud Composer terkelola yang mencakup, misalnya, database Airflow.

Pertimbangkan untuk memilih ukuran lingkungan yang lebih besar jika Anda ingin menjalankan sejumlah besar DAG dan tugas.

Konsol

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di item Resources > Workloads configuration, klik Edit.

  5. Di item Resources > Core infrastructure, klik Edit.

  6. Di panel Core infrastructure, di kolom Environment size, tentukan ukuran lingkungan.

  7. Klik Simpan.

gcloud

Argumen --environment-size mengontrol ukuran lingkungan:

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

Ganti kode berikut:

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

Contoh:

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

API

  1. Buat permintaan API environments.patch.

  2. Dalam permintaan ini:

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

    2. Dalam isi permintaan, tentukan ukuran lingkungan.

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

Ganti kode berikut:

  • ENVIRONMENT_SIZE: 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 kode berikut:

  • ENVIRONMENT_NAME: nama lingkungan.
  • LOCATION: region tempat lingkungan berada.
  • ENVIRONMENT_SIZE: 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