更新和删除环境

本页面介绍如何更新、删除和查看 Cloud Composer 环境的详细信息。其中还介绍了如何更新和查看环境的 Apache Airflow 配置。

准备工作

  • 如需更新或删除环境,您需要具备以下权限:

    • composer.environments.update(用于更新环境)
    • composer.environments.delete(用于删除环境)

      如需了解详情,请参阅 Cloud Composer 访问权限控制

  • 大多数 gcloud composer 命令需要位置信息。您可以使用 --location 标志指定位置,也可以设置默认位置

  • 某些 Airflow 参数已针对 Cloud Composer 进行了预配置,不得更改。您可以更新以下 Cloud Composer 环境配置:节点数,Airflow 配置替换、环境变量、标签和 PyPI 软件包。

  • 部分环境更新会重建 Cloud Composer 映像,例如软件包安装和版本升级。 Cloud Composer 垃圾回收功能可以移除较旧的映像。

  • 在更新请求提交后 5 分钟左右,Airflow 配置更新会应用于所有 Airflow 实例(工作器、服务器、调度器)。

限制

Cloud Composer 不接受并发环境更新或删除请求。您必须等待一个环境更新或删除请求完成之后,才能发出另一个环境更新或删除请求。

更新环境

要更新 Cloud Composer 环境(包括 Airflow 配置),请执行以下操作:

控制台

  1. 打开 Google Cloud 中的环境页面。

    打开“环境”页面

  2. 点击要修改的环境的名称

  3. 选择与要更新的属性对应的标签页。

  4. 点击修改

  5. 完成更新后,点击提交

gcloud

如需更新 Airflow 配置,请运行带有 --update-airflow-configs 标志的 gcloud composer environments update 命令:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --update-airflow-configs=KEY=VALUE,KEY=VALUE,... 

其中:

  • ENVIRONMENT_NAME 是环境的名称。
  • LOCATION 是环境所在的 Compute Engine 区域。
  • KEY=VALUE 是由配置节和属性名(二者用连字符分隔,例如 core-print_stats_interval)及其相应值组成。

例如:

gcloud composer environments update test-environment \
    --location us-central1 \
    --update-airflow-configs=core-load_example=True,webserver-dag_orientation=TB 

如需查看其他示例,请参阅“gcloud composer environments update”参考页面。

API

如需使用 Cloud Composer REST API 更新 Cloud Composer 环境(包括 Airflow 配置),请发送 environments.patch API 请求。

恢复默认 Airflow 配置

如需恢复所有默认 Airflow 配置值,请使用以下命令:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --clear-airflow-configs

如需恢复一个或多个默认 Airflow 配置值,请使用以下命令:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --remove-airflow-configs=core-load_example,webserver-dag_orientation 

其中:

  • ENVIRONMENT_NAME 是环境的名称。
  • LOCATION 是环境所在的 Compute Engine 区域。

例如:

gcloud composer environments update test-environment \
    --location us-central1 \
    --update-airflow-configs=core-load_example=True,webserver-dag_orientation=TB 

操作完成后,该命令即终止。为了避免等待,可使用 --async 标志。

查看环境详情

如需查看 Cloud Composer 环境详情(包括 Airflow 配置),请执行以下操作:

控制台

  1. 打开 Google Cloud Console 中的环境页面。

    打开“环境”页面

  2. 点击相应环境的名称
  3. 选择适当的属性标签页。

gcloud

gcloud composer environments describe ENVIRONMENT_NAME \
    --location LOCATION
    --format="get(PROPERTY)"

其中:

  • ENVIRONMENT_NAME 是环境的名称。
  • LOCATION 是环境所在的 Compute Engine 区域。
  • --format 是一个选项,用于指定环境属性,例如 config.airflowUri(表示 Airflow Web 服务器网址)。

例如:

gcloud composer environments describe test-environment 
--location us-central1 --format="get(config.airflowUri)"

# Returns https://a6b3z6e3nnZZZnnd3a-tp.appspot.com

API

如需使用 Cloud Composer REST API 查看 Airflow 配置,请发送 environments.get API 请求(注意要填入环境 ID)。

升级机器类型

您可以手动为环境的 GKE 集群升级机器类型,方法是删除现有的 default-pool,然后使用所需的机器类型创建一个新 default-pool

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

  1. 在 Cloud Console 中,点击要升级的环境的名称
  2. 如需查看默认节点池,请执行以下操作:
    1. 在“环境详情”页面上,点击查看集群详情链接。
    2. 在“集群”页面的节点池部分中,点击 default-pool
    3. 请记下“节点池详情”页面上 default-pool 的所有信息。 您将需要使用这些信息来为您的环境创建新的默认节点池。
  3. 如需删除 default-pool,请执行以下操作:
    1. 在“节点池详情”页面上,点击返回箭头以返回到环境的“集群”页面。
    2. 节点池部分中,点击 default-pool 右侧的垃圾桶图标。
    3. 如果确认删除,请点击删除
  4. 如需创建新的 default-pool,请执行以下操作:

    1. 点击“集群”页面顶部的添加节点池
    2. 在“名称”部分,输入 default-pool。您必须将节点池命名为 default-pool,否则工作流将失败。
    3. 输入大小和节点设置。
    4. 对于“访问权限范围”,请选择允许所有 Cloud API 的完整访问权限
    5. 点击保存
  5. 如果您发现工作负载分布不均匀,请先将 airflow-worker 部署缩容为零负载,然后再重新对其进行纵向扩容。

删除环境

如需删除 Cloud Composer 环境,请执行以下操作:

控制台

  1. 打开 Google Cloud Console 中的环境页面。

    打开“环境”页面

  2. 选中要删除的环境旁边的复选框。
  3. 点击删除

gcloud

运行以下命令来删除 Cloud Composer 环境:

gcloud composer environments delete ENVIRONMENT_NAME \
    --location LOCATION   

其中:

  • ENVIRONMENT_NAME 是环境的名称。
  • LOCATION 是环境所在的 Compute Engine 区域。

如需获取命令参数信息,请运行 gcloud composer environments describe --help

API

如需使用 Cloud Composer REST API 删除环境,请发出 environments.delete API 请求(注意要填入环境 ID)。

后续步骤