将 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 预留与 Dataflow 搭配使用,则这些预留资源不符合 Compute Engine 承诺使用折扣的条件。使用情况采用 Dataflow 价格模式进行结算。

后续步骤

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