Cloud Composer 1 |Cloud Composer 2 |Cloud Composer 3
本页面介绍如何扩缩 Cloud Composer 环境。
其他有关扩缩的页面:
纵向和横向扩缩
横向扩缩选项:
- 调整工作器数量的下限和上限。
- 调整调度器、DAG 处理器和触发器的数量。
纵向扩缩选项:
- 调整工作器、调度器、触发器、DAG 处理器和 Web 服务器的扩缩和性能参数。
- 调整环境大小。
资源限制
组件 | 数量下限 | 数量上限 | vCPU 数量下限 | vCPU 上限 | vCPU 步数下限 | 最小内存 (GB) | 内存上限 (GB) | 内存最小步长 (GB) | 每个 vCPU 的内存下限 (GB) | 每 1 个 vCPU 的最大内存 (GB) | 最小存储空间 (GB) | 存储空间上限 (GB) | 存储空间最小步长 (GB) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
调度器 | 1 | 3 | 0.5 | 1 | 0.5 | 0.5 | 8 | 0.25 | 1 | 8 | 0 | 100 | 1 |
触发器 | 0 | 10 | 0.5 | 1 | 0.5 | 0.5 | 8 | 0.25 | 1 | 8 | - | - | - |
Web 服务器 | - | - | 0.5 | 32 | 0.5、1 或 2 的倍数 | 1 | 256 | 0.25 | 1 | 8 | 0 | 100 | 1 |
工作器 | 1 | 100 | 0.5 | 32 | 0.5、1 或 2 的倍数 | 1 | 256 | 0.25 | 1 | 8 | 0 | 100 | 1 |
DAG 处理器 | 1 | 3 | 0.5 | 32 | 0.5、1 或 2 的倍数 | 1 | 256 | 0.25 | 1 | 8 | 0 | 100 | 1 |
调整 worker 参数
您可以为环境设置工作器数量下限和上限。 Cloud Composer 会在设定的限制内自动扩缩您的环境。您可以随时调整这些限制。
您可以指定 Airflow 使用的 CPU、内存和磁盘空间量 您的环境中的工作器。通过这种方式,除了使用多个工作器进行横向扩缩之外,您还可以提高您的环境的性能。
控制台
在 Google Cloud 控制台中,前往环境页面。
在环境列表中,点击您的环境名称。环境详情页面会打开。
转到环境配置标签页。
在资源 > 工作负载配置项中,点击修改。
在工作负载配置窗格中,调整 Airflow 工作器的参数:
在工作器数量下限字段中,指定您的环境必须始终运行的 Airflow 工作器的数量。在环境的正常运行期间,环境中的工作器数量不能低于此数量,即使更少数量的工作器可以处理负载也是如此。
在工作器数量上限字段中,指定您的环境可以运行的 Airflow 工作器数量的上限。您的环境中的工作器数量不能超出此数量,即使需要更多数量的工作器来处理负载也是如此。
在 CPU、内存和 Storage 字段中,指定 Airflow 工作器的 CPU、内存和存储空间量。每个工作器使用指定数量的资源。
点击保存。
gcloud
您可以使用以下 Airflow 工作器参数:
--min-workers
:您的环境必须有的 Airflow 工作器数量 始终运行您的环境中的工作器数量不能低于此数量,即使更少数量的工作器可以处理负载也是如此。--max-workers
:您的环境可运行的 Airflow 工作器数量的上限。您的环境中的工作器数量不能超出此数量,即使需要更多数量的工作器来处理负载也是如此。--worker-cpu
:Airflow 工作器的 CPU 数量。--worker-memory
:Airflow 工作器的内存用量。--worker-storage
:Airflow 工作器的磁盘空间量。
运行以下 Google Cloud CLI 命令:
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
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。WORKERS_MIN
:Airflow 工作器数量下限。WORKERS_MAX
:Airflow 工作器数量上限。WORKER_CPU
:工作器的 CPU 数量(以 vCPU 为单位)。WORKER_MEMORY
:工作器的内存量。WORKER_STORAGE
:工作器的磁盘大小。
例如:
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
构建
environments.patch
API 请求。在此请求中:
在参数
updateMask
中,指定要更新的字段。例如,要更新所有 参数的值,请指定config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount
个蒙版。在请求正文中,指定新的 Worker 参数。
"config": {
"workloadsConfig": {
"worker": {
"minCount": WORKERS_MIN,
"maxCount": WORKERS_MAX,
"cpu": WORKER_CPU,
"memoryGb": WORKER_MEMORY,
"storageGb": WORKER_STORAGE
}
}
}
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。WORKERS_MIN
:Airflow 工作器数量下限。WORKERS_MAX
:Airflow 工作器数量上限。WORKER_CPU
:工作器的 CPU 数量(以 vCPU 为单位)。WORKER_MEMORY
:工作器的内存量(以 GB 为单位)。WORKER_STORAGE
:工作器的磁盘大小(以 GB 为单位)。
示例:
// 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
workloads_config.worker
块中的以下字段用于控制 Airflow 工作器参数。每个工作器使用指定数量的资源。
worker.min_count
:您的环境必须有的 Airflow 工作器数量 始终运行您的环境中的工作器数量不能低于此数量,即使更少数量的工作器可以处理负载也是如此。worker.max_count
:您的 环境可以运行。您的环境中的工作器数量不能超出此数量,即使需要更多数量的工作器来处理负载也是如此。worker.cpu
:一个 Airflow 工作器的 CPU 数量。worker.memory_gb
:Airflow 工作器的内存量。worker.storage_gb
: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
}
}
}
}
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。WORKERS_MIN
:Airflow 工作器数量下限。WORKERS_MAX
:Airflow 工作器数量上限。WORKER_CPU
:工作器的 CPU 数量(以 vCPU 为单位)。WORKER_MEMORY
:工作器的内存量(以 GB 为单位)。WORKER_STORAGE
:工作器的磁盘大小(以 GB 为单位)。
示例:
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
}
}
}
}
调整调度器参数
您的环境可以同时运行多个 Airflow 调度器。使用多个调度器在多个调度器实例之间分配负载,以实现更好的性能和可靠性。
您最多可以添加 3 次 调度器
增加调度器的数量并不总是可以提高 Airflow 性能。例如,仅使用一个调度器的性能可能优于使用两个调度器。如果额外的调度器未得到利用,则可能会发生这种情况,因而会占用环境的资源,而不会提升整体性能。实际的调度器性能取决于 Airflow 工作器的数量、在您的环境中运行的 DAG 和任务的数量,以及 Airflow 和环境的配置。
我们建议您先使用两个调度器,然后再监控环境的性能。如果您更改调度器的数量,则可以随时将环境扩缩回原始调度器的数量。
如需详细了解如何配置多个调度器,请参阅 Airflow 文档。
您可以指定 Airflow 使用的 CPU、内存和磁盘空间量 调度器通过这种方式,您可以提高 以及使用多集群虚拟机提供的 调度器
控制台
在 Google Cloud 控制台中,前往环境页面。
在环境列表中,点击您的环境名称。环境详情页面会打开。
转到环境配置标签页。
在资源 > 工作负载配置项中, 点击修改。
在 Workloads configuration 窗格中,调整 Airflow 的参数 schedulers:
在调度器数量下拉列表中,为您的环境选择调度器数量。
在 CPU、内存和存储字段中,指定 Airflow 调度器的 CPU、内存和存储空间。每个调度器使用指定数量的资源。
点击保存。
gcloud
您可以使用以下 Airflow 调度器参数:
--scheduler-count
:您的环境中的调度器数量。--scheduler-cpu
:Airflow 调度器的 CPU 数量。--scheduler-memory
:Airflow 调度器的内存量。--scheduler-storage
:Airflow 调度程序的磁盘可用空间。
运行以下 Google Cloud CLI 命令:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-cpu SCHEDULER_CPU \
--scheduler-memory SCHEDULER_MEMORY \
--scheduler-storage SCHEDULER_STORAGE \
--scheduler-count SCHEDULER_COUNT
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。SCHEDULER_CPU
:调度器的 CPU 数量,以 vCPU 为单位。SCHEDULER_MEMORY
:调度程序的内存量。SCHEDULER_STORAGE
:调度器的磁盘大小。SCHEDULER_COUNT
:调度器数量。
示例:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-cpu 0.5 \
--scheduler-memory 2.5 \
--scheduler-storage 2 \
--scheduler-count 2
API
构建
environments.patch
API 请求。在此请求中:
在
updateMask
参数中,指定config.workloadsConfig.scheduler
掩码以更新所有调度器参数或仅更新调度器数量。您还可以更新 各个调度器参数(count
除外)。 例如config.workloadsConfig.scheduler.cpu
。在请求正文中,指定新的调度器参数。
"config": {
"workloadsConfig": {
"scheduler": {
"cpu": SCHEDULER_CPU,
"memoryGb": SCHEDULER_MEMORY,
"storageGb": SCHEDULER_STORAGE,
"count": SCHEDULER_COUNT
}
}
}
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。SCHEDULER_CPU
:调度器的 CPU 数量,以 vCPU 为单位。SCHEDULER_MEMORY
:调度器的内存量(以 GB 为单位)。SCHEDULER_STORAGE
:调度器的磁盘大小,以 GB 为单位。SCHEDULER_COUNT
:调度器的数量。
示例:
// 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
workloads_config.scheduler
块中的以下字段控制 Airflow 调度器参数。每个调度器都会使用
资源。
scheduler.count
:您的环境中的调度器数量。scheduler.cpu
:Airflow 调度器的 CPU 数量。scheduler.memory_gb
:Airflow 调度器的内存量。scheduler.storage_gb
:调度器的磁盘空间量。
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
}
}
}
}
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。SCHEDULER_CPU
:调度器的 CPU 数量,以 vCPU 为单位。SCHEDULER_MEMORY
:调度器的内存量(以 GB 为单位)。SCHEDULER_STORAGE
:调度器的磁盘大小,以 GB 为单位。SCHEDULER_COUNT
:调度器的数量。
示例:
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
}
}
}
}
调整触发器参数
您可以将触发器数量设置为零,但至少需要一个 触发器实例(在高弹性环境中至少有两个触发器实例) 使用 DAG 中可延期运算符。
触发器数量的可能配置因环境的弹性模式而异:
- 标准弹性:您最多可以运行 10 触发器。
- 高弹性:至少有 2 个触发器,最多为 10.
即使触发器数量设置为零,触发器 Pod 定义也会 在环境的集群中创建并可见,但没有实际的触发器 工作负载
您还可以指定 Airflow 使用的 CPU、内存和磁盘空间量 触发器。通过这种方式,除了使用多个触发器进行横向扩缩之外,您还可以提高您的环境的性能。
控制台
在 Google Cloud 控制台中,前往环境页面。
在环境列表中,点击您的环境名称。环境详情页面会打开。
转到环境配置标签页。
在资源 > 工作负载配置项中, 点击修改。
在 Workloads configuration 窗格中,调整 Airflow 的参数 触发器:
在触发器部分的触发器数量字段中,执行以下操作: 输入您环境中的触发器数量。
如果您为环境设置了至少一个触发器,也请使用 CPU 和 Memory 字段以配置资源分配 。
在 CPU 和内存中,指定 Airflow 触发器的 CPU、内存和存储空间。每个触发器 使用指定数量的资源。
点击保存。
gcloud
以下 Airflow 触发器参数可用:
--triggerer-count
:您的环境中的触发器数量。- 对于标准弹性环境,请使用介于
0
和10
。 - 对于高度弹性环境,请使用
0
,或介于2
和10
之间的值。
- 对于标准弹性环境,请使用介于
--triggerer-cpu
:Airflow 触发器的 CPU 数量。--triggerer-memory
:Airflow 触发器的内存量。
运行以下 Google Cloud CLI 命令:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--triggerer-count TRIGGERER_COUNT \
--triggerer-cpu TRIGGERER_CPU \
--triggerer-memory TRIGGERER_MEMORY
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。TRIGGERER_COUNT
:触发器的数量。TRIGGERER_CPU
:触发器的 CPU 数量,以 vCPU 为单位。TRIGGERER_MEMORY
:触发器的内存量。
示例:
- 扩容为四个触发器实例:
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
在
updateMask
查询参数中,指定config.workloadsConfig.triggerer
个蒙版。在请求正文中,为触发器指定所有三个参数。
"config": {
"workloadsConfig": {
"triggerer": {
"count": TRIGGERER_COUNT,
"cpu": TRIGGERER_CPU,
"memoryGb": TRIGGERER_MEMORY
}
}
}
替换以下内容:
TRIGGERER_COUNT
:触发器的数量。- 对于标准弹性环境,请使用介于
0
和10
。 - 对于高弹性环境,请使用
0
, 或介于2
和10
。
- 对于标准弹性环境,请使用介于
TRIGGERER_CPU
:触发器的 CPU 数量(以 vCPU 为单位)。TRIGGERER_MEMORY
:触发器的内存量。
示例:
- 将触发器计数设置为
0
以停用触发器。此操作 不要求为触发器指定 CPU 或内存。
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
"workloadsConfig": {
"triggerer": {
"count": 0
}
}
}
- 扩容为四个触发器实例:
// 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
workloads_config.triggerer
代码块中的以下字段用于控制
Airflow 触发器参数。每个触发器使用指定数量的资源。
triggerer.count
:您的环境中的触发器数量。- 对于标准弹性环境,请使用介于
0
和10
之间的值。 - 对于高弹性环境,请使用
0
, 或介于2
和10
。
- 对于标准弹性环境,请使用介于
triggerer.cpu
:Airflow 触发器的 CPU 数量。triggerer.memory_gb
: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
}
}
}
}
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。TRIGGERER_COUNT
:触发器的数量。TRIGGERER_CPU
:触发器的 CPU 数量,以 vCPU 为单位。TRIGGERER_MEMORY
:触发器的内存量(以 GB 为单位)。
示例:
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
}
}
}
}
调整 DAG 处理器参数
您可以指定环境中的 DAG 处理器数量,以及每个 DAG 处理器使用的 CPU 数量、内存和磁盘空间大小。
控制台
在 Google Cloud 控制台中,前往环境页面。
在环境列表中,点击您的环境名称。环境详情页面会打开。
转到环境配置标签页。
在资源 > 工作负载配置项中, 点击修改。
在 Workloads configuration 窗格中,调整 Airflow 的参数 DAG 处理器:
在 DAG 处理器数量下拉列表中,选择 适合您环境的 DAG 处理器。
在 CPU、内存和 Storage 字段中,指定 Airflow DAG 处理器的 CPU、内存和存储空间量。每个 DAG 处理器使用指定数量的资源。
点击保存。
gcloud
您可以使用以下 Airflow DAG 处理器参数:
--dag-processor-count
:DAG 处理器数量。--dag-processor-cpu
:DAG 处理器的 CPU 数量。--dag-processor-memory
:DAG 处理器的内存量。--dag-processor-storage
:DAG 的磁盘空间量 处理器。
运行以下 Google Cloud CLI 命令:
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
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。DAG_PROCESSOR_CPU
:DAG 处理器的 CPU 数量。DAG_PROCESSOR_MEMORY
:DAG 处理器的内存量。DAG_PROCESSOR_STORAGE
:DAG 处理器的磁盘可用空间。
例如:
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
构建
environments.patch
API 请求。在此请求中:
在
updateMask
参数中,指定config.workloadsConfig.dagProcessor
掩码以更新所有 DAG 处理器参数,包括 DAG 处理器数量。您可以 还可以通过指定掩码来更新各个 DAG 处理器参数。 例如config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb
。在请求正文中,指定新的 DAG 处理器参数。
"config": {
"workloadsConfig": {
"dagProcessor": {
"count": DAG_PROCESSOR_COUNT,
"cpu": DAG_PROCESSOR_CPU,
"memoryGb": DAG_PROCESSOR_MEMORY,
"storageGb": DAG_PROCESSOR_STORAGE
}
}
}
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。DAG_PROCESSOR_COUNT
:DAG 处理器数量。DAG_PROCESSOR_CPU
:DAG 处理器的 CPU 数量(以 vCPU 为单位)。DAG_PROCESSOR_MEMORY
:DAG 的内存量 处理器(以 GB 为单位)。DAG_PROCESSOR_STORAGE
:DAG 处理器的磁盘空间大小(以 GB 为单位)。
示例:
// 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
workloads_config.dag_processor
代码块中的以下字段用于控制
Airflow DAG 处理器参数。每个 DAG 处理器使用指定数量的资源。
dag_processor.count
:您环境中的 DAG 处理器数量。dag_processor.cpu
:DAG 处理器的 CPU 数量。dag_processor.memory_gb
:DAG 处理器的内存量。dag_processor.storage_gb
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
}
}
}
}
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。DAG_PROCESSOR_COUNT
:DAG 处理器数量。DAG_PROCESSOR_CPU
:DAG 处理器的 CPU 数量(以 vCPU 为单位)。DAG_PROCESSOR_MEMORY
:DAG 的内存量 处理器(以 GB 为单位)。DAG_PROCESSOR_STORAGE
:DAG 处理器的磁盘空间大小(以 GB 为单位)。
示例:
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
}
}
}
}
调整 Web 服务器参数
您可以指定 Airflow 使用的 CPU、内存和磁盘空间量。 Web 服务器。通过这种方式,您可以 例如,为了满足大量 用户或大量代管式 DAG。
控制台
在 Google Cloud 控制台中,前往环境页面。
在环境列表中,点击您的环境名称。环境详情页面会打开。
转到环境配置标签页。
在资源 > 工作负载配置项中, 点击修改。
在工作负载配置窗格中,调整 Web 服务器的参数。在 CPU、内存和存储字段中,指定 Web 服务器的 CPU、内存和存储空间数量。
点击保存。
gcloud
您可以使用以下 Airflow Web 服务器参数:
--web-server-cpu
:Airflow Web 服务器的 CPU 数量。--web-server-memory
:Airflow Web 的内存量 服务器。--web-server-storage
:Airflow 网站服务器的磁盘空间。
运行以下 Google Cloud CLI 命令:
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
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。WEB_SERVER_CPU
:Web 服务器的 CPU 数量,以 vCPU 为单位。WEB_SERVER_MEMORY
:Web 服务器的内存量。WEB_SERVER_STORAGE
:Web 服务器的内存量。
例如:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-cpu 1 \
--web-server-memory 2.5 \
--web-server-storage 2
API
构建
environments.patch
API 请求。在此请求中:
在
updateMask
参数中,指定config.workloadsConfig.webServer
掩码以更新所有 Web 服务器 参数。您还可以通过以下方式更新各个 Web 服务器参数: 为这些参数指定掩码:config.workloadsConfig.webServer.cpu
,config.workloadsConfig.webServer.memoryGb
,config.workloadsConfig.webServer.storageGb
。在请求正文中,指定新的网站服务器参数。
"config": {
"workloadsConfig": {
"webServer": {
"cpu": WEB_SERVER_CPU,
"memoryGb": WEB_SERVER_MEMORY,
"storageGb": WEB_SERVER_STORAGE
}
}
}
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。WEB_SERVER_CPU
:Web 服务器的 CPU 数量(以 vCPU 为单位)。WEB_SERVER_MEMORY
:Web 服务器的内存量,以 GB 为单位。WEB_SERVER_STORAGE
:Web 服务器的磁盘大小,以 GB 为单位。
示例:
// 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
workloads_config.web_server
块中的以下字段用于控制 Web 服务器参数。
web_server.cpu
:Web 服务器的 CPU 数量。web_server.memory_gb
:Web 服务器的内存量。web_server.storage_gb
: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
}
}
}
}
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。WEB_SERVER_CPU
:Web 服务器的 CPU 数量(以 vCPU 为单位)。WEB_SERVER_MEMORY
:Web 服务器的内存量,以 GB 为单位。WEB_SERVER_STORAGE
:Web 服务器的磁盘大小,以 GB 为单位。
示例:
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
}
}
}
}
调整环境大小
环境大小决定了受管理设备的性能参数 Cloud Composer 基础架构,例如包含 Airflow 数据库。
如果要运行大量项目,请考虑选择更大的环境大小。 DAG 和任务的组合。
控制台
在 Google Cloud 控制台中,前往环境页面。
在环境列表中,点击您的环境名称。环境详情页面会打开。
转到环境配置标签页。
在资源 > 工作负载配置项中, 点击修改。
在资源 > 核心基础架构项中, 点击修改。
在核心基础架构窗格中,在环境大小字段中,指定环境大小。
点击保存。
gcloud
参数 --environment-size
可用于控制环境大小:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--environment-size ENVIRONMENT_SIZE
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。ENVIRONMENT_SIZE
:small
、medium
或large
。
示例:
gcloud composer environments update example-environment \
--location us-central1 \
--environment-size medium
API
创建
environments.patch
API 请求。在此请求中:
在参数
updateMask
中,指定config.environmentSize
掩码。在请求正文中,指定环境大小。
"config": {
"environmentSize": "ENVIRONMENT_SIZE"
}
替换以下内容:
ENVIRONMENT_SIZE
:环境大小,ENVIRONMENT_SIZE_SMALL
、ENVIRONMENT_SIZE_MEDIUM
或ENVIRONMENT_SIZE_LARGE
。
示例:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.environmentSize
"config": {
"environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}
Terraform
config
块中的 environment_size
字段控制环境大小:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
environment_size = "ENVIRONMENT_SIZE"
}
}
替换以下内容:
ENVIRONMENT_NAME
:环境的名称。LOCATION
:环境所在的区域。ENVIRONMENT_SIZE
:环境大小ENVIRONMENT_SIZE_SMALL
。ENVIRONMENT_SIZE_MEDIUM
或ENVIRONMENT_SIZE_LARGE
。
示例:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
environment_size = "ENVIRONMENT_SIZE_SMALL"
}
}
}