更新环境

Cloud Composer 1 |Cloud Composer 2 |Cloud Composer 3

本页面介绍了如何更新环境。

更新操作简介

更改环境参数(例如指定新的伸缩)时 或安装自定义 PyPI 软件包, 环境更新。

此操作完成后,更改将显示在您的 环境

对于单个 Cloud Composer 环境,您只能启动一个 每次只能执行一次更新操作您必须等待更新操作完成 然后才能启动另一个环境操作。

更新对正在运行的 Airflow 任务有何影响

运行更新操作(例如安装 自定义 PyPI 软件包,以及您环境中的所有 Airflow 调度器和工作器 并且当前正在运行的所有任务都会终止。更新后 操作完成后,Airflow 会根据 DAG 配置重试方式的方式。

使用 Terraform 进行更新

terraform apply 之前运行 terraform plan,看看 Terraform 是否会创建新的 而不是更新环境

准备工作

  • 检查您的账号、环境的服务账号, 您项目中的 Cloud Composer Service Agent 账号 所需权限:

  • gcloud composer environments update命令会在 操作完成时的状态。您可以使用 --async 标志,避免等待 要完成的操作

更新环境

如需详细了解如何更新环境,请参阅其他文档 有关特定更新操作的页面。例如:

查看环境详情

控制台

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

    转到“环境”

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

gcloud

运行以下 gcloud 命令:

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION

您需要将其中的:

  • ENVIRONMENT_NAME 替换为环境的名称。
  • LOCATION 替换为环境所在的区域。

API

构建 environments.get API 请求。

示例:

GET https://composer.googleapis.com/v1/projects/example-project/
locations/us-central1/environments/example-environment

Terraform

对环境资源运行 terraform state show 命令。

您的环境的 Terraform 资源的名称可能与 您的环境的名称。

terraform state show google_composer_environment.RESOURCE_NAME

您需要将其中的:

  • RESOURCE_NAME 替换为您的环境资源的名称。

回滚更新更改

在极少数情况下,更新操作可能会中断 (例如,由于超时原因),而请求的更改可能 在所有环境组件(例如 Airflow Web 服务器)中进行了回滚。

例如,更新操作可能是安装或移除其他 PyPI 模块,重新定义或定义新的 Airflow 或 Cloud Composer 环境变量或更改某些与 Airflow 相关的参数。

如果在更新配置中, 操作正在进行中,例如 Cloud Composer 集群的 自动扩缩或维护操作

在这种情况下,建议您重复此操作。

更新或升级操作的持续时间

大多数更新或升级操作都需要重启 Airflow 组件 例如 Airflow 调度器、工作器和 Web 服务器。

组件重启后,必须进行初始化。在 初始化、Airflow 调度器和工作器下载 /dags 的内容 和 /plugins 个文件夹。同步过程 文件发送到 Airflow 调度器和工作器不是即时的,而是依赖于 这些文件夹中所有对象的总大小和数量。

我们建议仅在 /dags/plugins 中保留 DAG 和插件文件 文件夹,然后移除所有其他文件。数据过多 在 /dags/plugins 文件夹中,可能会减慢 Airflow 的初始化速度 并且在某些情况下可能会导致无法进行初始化。

我们建议在 /dags/plugins 文件夹中保存的数据应不超过 30 MB,数据大小绝对不要超过 100 MB。

如需了解详情,另请参阅:

升级 GKE 节点的机器类型

您可以手动升级环境的机器类型, 方法是删除现有的 default-pool 和 使用所需机器类型创建新的 default-pool

我们建议您为 Cloud Composer 环境中进行的每项计算任务, 创建环境

如果您运行的是执行资源密集型计算的作业, 希望使用 GKE 操作器

升级后,之前的机器类型仍列在 环境详细信息例如,“环境详情”页面不会反映新的机器类型。

控制台

要升级机器类型,请执行以下操作:

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

    转到“环境”

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

  3. 获取有关默认节点池的信息:

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

    2. 点击查看集群详情链接。

    3. “集群”页面节点部分,点击 default-pool

    4. 请记下节点池详情中 default-pool 的所有信息 页面。您可以使用此信息为您的环境创建新的默认节点池。

  4. 如需删除 default-pool,请执行以下操作:

    1. 节点池详情页面上,点击返回箭头以返回到环境的集群页面。

    2. 节点池部分中,点击 default-pool 对应的垃圾桶图标。然后点击删除以确认操作。

  5. 如需创建新的 default-pool,请执行以下操作:

    1. 集群页面上,点击添加节点池

    2. 对于“名称”,请输入 default-pool。您必须使用 default-pool 名称 确保您环境中的工作流可以在此池中运行。

    3. 输入大小和节点设置。

    4. (仅适用于默认的 Compute Engine 服务账号)用于访问权限 范围,选择允许所有 Cloud API 的全面访问权限

    5. 点击保存

  6. 如果您发现工作负载分布不均匀 纵向缩容 将 Airflow-worker 部署设为零,然后再重新扩容。

后续步骤