将 Compute Engine 预留与 Dataflow 搭配使用

为确保虚拟机资源在 Dataflow 作业需要时可用,您可以使用 Compute Engine 预留。预留为获取 Compute Engine 可用区级资源的容量提供了较高的保障。

如需将 Compute Engine 预留与 Dataflow 搭配使用,请执行以下步骤:

  1. 创建 Compute Engine 预留。它可以是单项目预留或共享预留。如需了解详情,请参阅以下文档:

    预留可以包含 GPU 加速器。

  2. 提交 Dataflow 作业时,请根据您使用的 Beam SDK 版本传递以下服务选项之一:

    • Beam 版本 < 2.29:--experiments=skip_gce_quota_verification
    • Beam 版本 >= 2.29:--dataflow_service_options=automatically_use_created_reservation

为了防止同一项目中的低优先级工作负载使用 Dataflow 进行预留争用,请在为这些工作负载创建虚拟机时将预留亲和性设置为 none。如需了解详情,请参阅使用预留实例

如需使用预留,Dataflow 工作器必须与预留配置匹配。您可能需要为作业设置工作器机器类型。如需了解详情,请参阅工作器

限制

当 Dataflow 工作器使用预留时,需要遵循 Compute Engine 预留的所有限制。请参阅预留的工作原理

此外,Dataflow 依赖于 Compute Engine 中的默认使用顺序。因此,需要遵循以下限制:

  • Dataflow 不会使用通过 --require-specific-reservation 标志创建的预留。
  • 同一项目或组织中未指定 --reservation 标志的其他工作负载可能会与 Dataflow 工作负载争用项目专用预留或共享预留。
  • Dataflow Prime 作业不会使用 Compute Engine 预留。

价格

预留的 Compute Engine 虚拟机在 Dataflow 作业运行时由 Dataflow 计费,而在 Dataflow 未使用虚拟机时由 Compute Engine 计费。

后续步骤

如需详细了解 Compute Engine 预留,请参阅 Compute Engine 可用区级资源的预留