Cloud Composer 1 | Cloud Composer 2
Halaman ini menjelaskan cara menskalakan lingkungan Cloud Composer di Cloud Composer 2.
Halaman lain tentang penskalaan:
Untuk panduan tentang memilih parameter skala dan performa yang optimal bagi lingkungan Anda, lihat Mengoptimalkan performa dan biaya lingkungan.
Untuk mengetahui informasi tentang cara kerja penskalaan lingkungan, lihat Penskalaan lingkungan.
Menskalakan secara vertikal dan horizontal
Opsi untuk penskalaan horizontal:
- Menyesuaikan jumlah minimum dan maksimum pekerja
- Menyesuaikan jumlah penjadwal
- Menyesuaikan jumlah pemicu
Opsi untuk penskalaan vertikal:
- Menyesuaikan skala pekerja, penjadwal, pemicu, dan server web serta parameter performa
- Menyesuaikan ukuran lingkungan
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
Buka halaman Environments di Konsol Google Cloud:
Pilih lingkungan Anda.
Buka tab Konfigurasi lingkungan.
Di item Sumber daya > Konfigurasi beban kerja, klik Edit.
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.
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
Buat permintaan
environments.patch
API.Dalam permintaan ini:
Dalam parameter
updateMask
, tentukan maskconfig.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount
.Dalam isi permintaan, di kolom
minCount
danmaxCount
, 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
Buka halaman Environments di Konsol Google Cloud:
Pilih lingkungan Anda.
Buka tab Konfigurasi lingkungan.
Di item Sumber daya > Konfigurasi beban kerja, klik Edit.
Pada dialog Workloads configuration, di menu drop-down Number of schedulers, tetapkan jumlah penjadwal untuk lingkungan Anda.
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
Buat permintaan
environments.patch
API.Dalam permintaan ini:
Dalam parameter
updateMask
, tentukan maskconfig.softwareConfig.workloadsConfig.scheduler
.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
Di konsol Google Cloud, buka halaman Environments.
Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.
Buka tab Konfigurasi lingkungan.
Di item Sumber Daya > Beban Kerja, klik Edit. Panel Workloads configuration akan terbuka.
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.
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
dan10
. - Untuk lingkungan yang sangat tahan, gunakan
0
, atau nilai antara2
dan10
.
- Untuk lingkungan ketahanan standar, gunakan nilai antara
TRIGGERER_CPU
dengan jumlah CPU untuk pemicu, dalam unit vCPU. Tanda ini bersifat opsional. Jika tidak diberikan, nilai default vCPU0.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 default0.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
ke1
, nilai minimum untuk--triggerer-memory
adalah1
dan nilai maksimum adalah6.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
Buat permintaan
environments.patch
API.Dalam parameter kueri
updateMask
, tentukan maskconfig.workloadsConfig.triggerer
.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
dan10
. Untuk lingkungan yang sangat tahan, gunakan
0
, atau nilai antara2
dan10
.Jika menggunakan setidaknya satu pemicu, Anda juga harus menentukan nilai untuk
TRIGGERER_CPU
danTRIGGERER_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
ke1
, nilai minimum untukTRIGGERER_MEMORY
adalah1
dan nilai maksimum adalah6.5
.
- Untuk lingkungan ketahanan standar, gunakan nilai antara
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
Di konsol Google Cloud, buka halaman Environments.
Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.
Buka tab Konfigurasi lingkungan.
Di item Sumber Daya > Beban Kerja, klik Edit. Panel Workloads configuration akan terbuka.
Di menu drop-down Number of schedulers dan Number of triggerers, pilih jumlah penjadwal dan pemicu di lingkungan Anda.
Di panel Workloads configuration, di kolom CPU, Memory, dan Storage, tentukan jumlah CPU, memori, dan penyimpanan untuk penjadwal, pemicu, server web, dan pekerja Airflow.
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
ke1
, nilai minimum untuk--triggerer-memory
adalah1
dan nilai maksimum adalah6.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
Buat permintaan
environments.patch
API.Dalam permintaan ini:
- Di parameter
updateMask
, tentukan kolom yang ingin Anda perbarui. Misalnya, untuk mengupdate semua parameter untuk penjadwal, tentukan maskconfig.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.- Dalam isi permintaan, tentukan parameter skala dan performa.
- Di parameter
"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
ke1
, nilai minimum untukTRIGGERER_MEMORY
adalah1
dan nilai maksimum adalah6.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
Buka halaman Environments di Konsol Google Cloud:
Pilih lingkungan Anda.
Buka tab Konfigurasi lingkungan.
Di item Resource > Infrastruktur inti, klik Edit.
Pada dialog Core infrastructure, di kolom Environment size, tentukan ukuran lingkungan.
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
dengansmall
,medium
, ataularge
.
Contoh:
gcloud composer environments update example-environment \
--location us-central1 \
--environment-size medium
API
Buat permintaan
environments.patch
API.Dalam permintaan ini:
Dalam parameter
updateMask
, tentukan maskconfig.environmentSize
.Dalam isi permintaan, tentukan ukuran lingkungan.
"config": {
"environmentSize": "ENVIRONMENT_SIZE"
}
Ganti:
ENVIRONMENT_SIZE
dengan ukuran lingkungan,ENVIRONMENT_SIZE_SMALL
,ENVIRONMENT_SIZE_MEDIUM
, atauENVIRONMENT_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
, atauENVIRONMENT_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
- Penskalaan dan performa lingkungan
- Harga Cloud Composer
- Memperbarui lingkungan
- Arsitektur lingkungan