扩缩环境

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

本页介绍了如何扩缩 Cloud Composer 环境。

其他有关扩缩的页面:

纵向和横向扩缩

横向扩缩选项:

  • 调整工作器数量下限和上限。
  • 调整调度器的数量 和触发器。

纵向扩缩选项:

  • 调整工作器、调度器、触发器和网络服务器的扩缩和性能参数。
  • 调整环境大小。

资源限制

组件 数量下限 数量上限 vCPU 数量下限 vCPU 数量上限 vCPU 最低步长 最小内存 (GB) 内存上限 (GB) 内存最小步数 (GB) 每个 vCPU 的内存下限 (GB) 每个 vCPU 的最大内存 (GB) 最小存储空间 (GB) 最大存储空间 (GB) 存储最低步数 (GB)
调度器 1 10 0.5 28 0.25 0.5 80 - 1 6.5 0.05 10 -
触发器 0 10 0.5 1 0.25 0.5 80 - 1 6.5 - - -
Web 服务器 - - 0.5 28 0.25 1 80 - 1 6.5 0.05 10 -
工作器 1 100 0.5 28 0.25 0.5 80 - 1 6.5 0.05 10 -

调整工作器参数

您可以为环境设置工作器数量下限和上限。 Cloud Composer 会在设定的限制内自动扩缩您的环境。您可以随时调整这些限制。

您可以指定您的环境中 Airflow 工作器使用的 CPU 数量、内存和磁盘空间大小。通过这种方式,除了使用多个工作器进行横向扩缩之外,您还可以提高您的环境的性能。

控制台

  1. 在 Google Cloud 控制台中,前往环境页面。

    转到“环境”

  2. 在环境列表中,点击您的环境名称。环境详情页面会打开。

  3. 转到环境配置标签页。

  4. 资源 > 工作负载配置项中,点击修改

  5. 工作负载配置窗格中,调整 Airflow 工作器的参数:

    • 工作器数量下限字段中,指定您的环境必须始终运行的 Airflow 工作器的数量。您获得的 在测试期间,环境中的工作器数量不会低于此数字 即使其数量较少, 它们可以处理此负载。

    • 工作器数量上限字段中,指定您的环境可以运行的 Airflow 工作器数量的上限。您的环境中的工作器数量不能超出此数量,即使需要更多数量的工作器来处理负载也是如此。

    • CPU内存存储字段中,指定 Airflow 工作器的 CPU、内存和存储空间。每个工作器使用指定数量的资源。

  6. 点击保存

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

  1. 构建 environments.patch API 请求。

  2. 在此请求中:

    1. 在参数 updateMask 中,指定要更新的字段。例如,如需更新工作器的所有参数,请指定 config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount 掩码。

    2. 在请求正文中,指定新的 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:您的环境可运行的 Airflow 工作器数量的上限。您的环境中的工作器数量不能超出此数量,即使需要更多数量的工作器来处理负载也是如此。
  • 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 调度器。使用多个调度器将负载分散到多个 调度程序实例,以提高性能和可靠性。

您最多可以添加 10 调度器

增加调度器的数量并不总是可以提高 Airflow 性能。例如,仅使用一个调度器的性能可能优于使用两个调度器。如果额外的调度器未得到利用,则可能会发生这种情况,因而会占用环境的资源,而不会提升整体性能。实际的调度器性能取决于 Airflow 工作器的数量、在您的环境中运行的 DAG 和任务的数量,以及 Airflow 和环境的配置。

我们建议您先使用两个调度器,然后再监控环境的性能。如果您更改调度器的数量,则可以随时将环境扩缩回原始调度器的数量。

如需详细了解如何配置多个调度器,请参阅 Airflow 文档

您可以指定环境中 Airflow 调度器使用的 CPU 数量、内存和磁盘空间大小。通过这种方式,除了使用多个调度器进行横向扩缩之外,您还可以提高您的环境的性能。

控制台

  1. 在 Google Cloud 控制台中,前往环境页面。

    转到“环境”

  2. 在环境列表中,点击您的环境名称。环境详情页面会打开。

  3. 转到环境配置标签页。

  4. 资源 > 工作负载配置项中, 点击修改

  5. 工作负载配置窗格中,调整 Airflow 调度器的参数:

    • 调度器数量下拉列表中, 调度程序

    • CPU内存存储字段中,指定 Airflow 调度器的 CPU、内存和存储空间。每个调度器使用指定数量的资源。

  6. 点击保存

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

  1. 构建 environments.patch API 请求。

  2. 在此请求中:

    1. updateMask 参数中,指定 config.workloadsConfig.scheduler 掩码以更新所有调度器参数或仅更新调度器数量。您还可以更新 各个调度器参数(count 除外)。 例如 config.workloadsConfig.scheduler.cpu

    2. 在请求正文中,指定新的调度器参数。

"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 数量、内存和磁盘空间大小。通过这种方式,您可以提高 以及使用多集群虚拟机提供的 触发器。

控制台

  1. 在 Google Cloud 控制台中,前往环境页面。

    转到“环境”

  2. 在环境列表中,点击您的环境名称。环境详情页面会打开。

  3. 转到环境配置标签页。

  4. 资源 > 工作负载配置项中, 点击修改

  5. Workloads configuration 窗格中,调整 Airflow 的参数 触发器:

    1. 触发器部分的触发器数量字段中,输入您环境中的触发器数量。

      如果您为环境设置了至少一个触发器,也请使用 CPUMemory 字段以配置资源分配 。

    2. CPUMemory 中,指定 Airflow 触发器的 CPU、内存和存储空间量。每个触发器使用指定数量的资源。

  6. 点击保存

gcloud

以下 Airflow 触发器参数可用:

  • --triggerer-count:环境中的触发器数量。

    • 对于标准弹性环境,请使用介于 010 之间的值。
    • 对于高度弹性环境,请使用 0,或介于 210 之间的值。
  • --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

  1. updateMask 查询参数中,指定 config.workloadsConfig.triggerer 掩码。

  2. 在请求正文中,为触发器指定所有三个参数。

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

替换以下内容:

  • TRIGGERER_COUNT:触发器的数量。

    • 对于标准弹性环境,请使用介于 010
    • 对于高度弹性环境,请使用 0,或介于 210 之间的值。
  • 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:环境中的触发器数量。

    • 对于标准弹性环境,请使用介于 010 之间的值。
    • 对于高度弹性环境,请使用 0,或介于 210 之间的值。
  • 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
      }
    }

  }
}

调整 Web 服务器参数

您可以指定环境中 Airflow Web 服务器所使用的 CPU 数量、内存和磁盘空间大小。这样,您就可以扩缩 Airflow 界面的性能,例如,以满足来自大量用户或大量受管 DAG 的需求。

控制台

  1. 在 Google Cloud 控制台中,前往环境页面。

    转到“环境”

  2. 在环境列表中,点击您的环境名称。环境详情页面会打开。

  3. 转到环境配置标签页。

  4. 资源 > 工作负载配置项中, 点击修改

  5. 工作负载配置窗格中,调整 Web 服务器在 CPU内存存储字段中,指定 Web 服务器的 CPU、内存和存储空间数量。

  6. 点击保存

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

  1. 构建 environments.patch API 请求。

  2. 在此请求中:

    1. 在参数 updateMask 中,指定 config.workloadsConfig.webServer 掩码以更新所有 Web 服务器参数。您还可以通过为这些参数指定掩码来更新各个 Web 服务器参数:config.workloadsConfig.webServer.cpuconfig.workloadsConfig.webServer.memoryGbconfig.workloadsConfig.webServer.storageGb

    2. 在请求正文中,指定新的 Web 服务器参数。

"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 和任务,请考虑选择较大的环境大小。

控制台

  1. 在 Google Cloud 控制台中,前往环境页面。

    转到“环境”

  2. 在环境列表中,点击您的环境名称。环境详情页面会打开。

  3. 转到环境配置标签页。

  4. 资源 > 工作负载配置项中,点击修改

  5. 资源 > 核心基础架构项中, 点击修改

  6. 核心基础架构窗格中,在环境大小字段中,指定环境大小。

  7. 点击保存

gcloud

参数 --environment-size 可用于控制环境大小:

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

替换以下内容:

  • ENVIRONMENT_NAME:环境的名称。
  • LOCATION:环境所在的区域。
  • ENVIRONMENT_SIZEsmallmediumlarge

示例:

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

API

  1. 创建 environments.patch API 请求。

  2. 在此请求中:

    1. 在参数 updateMask 中,指定 config.environmentSize 掩码。

    2. 在请求正文中,指定环境大小。

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

替换以下内容:

  • ENVIRONMENT_SIZE:环境大小 ENVIRONMENT_SIZE_SMALLENVIRONMENT_SIZE_MEDIUMENVIRONMENT_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_SMALLENVIRONMENT_SIZE_MEDIUMENVIRONMENT_SIZE_LARGE

示例:

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

  config {

    environment_size = "ENVIRONMENT_SIZE_SMALL"

    }
  }
}

后续步骤