【问题标题】:Incorrect image reference when launching Dataflow Flex templates启动 Dataflow Flex 模板时图像参考不正确
【发布时间】:2020-07-22 13:06:15
【问题描述】:

我们正在使用 Dataflow Flex 模板并遵循本指南 (https://cloud.google.com/dataflow/docs/guides/templates/using-flex-templates) 来暂存和启动作业。这在我们的环境中起作用。但是,当我通过 SSH 连接到 Dataflow VM 并运行 docker ps 时,我看到它引用了与我们在模板中指定的不同的 docker 镜像(绿色下划线):

我启动的模板如下,作业是使用gcloud beta dataflow flex-template run创建的:

{
"image": "gcr.io/<MY PROJECT ID>/samples/dataflow/streaming-beam-sql:latest",
"metadata": {
    "description": "An Apache Beam streaming pipeline that reads JSON encoded messages from Pub/Sub, uses Beam SQL to transform the message data, and writes the results to a BigQuery",
    "name": "Streaming Beam SQL",
    "parameters": [
        {
            "helpText": "Pub/Sub subscription to read from.",
            "label": "Pub/Sub input subscription.",
            "name": "inputSubscription",
            "regexes": [
                ".*"
            ]
        },
        {
            "helpText": "BigQuery table spec to write to, in the form 'project:dataset.table'.",
            "is_optional": true,
            "label": "BigQuery output table",
            "name": "outputTable",
            "regexes": [
                "[^:]+:[^.]+[.].+"
            ]
        }
    ]
},
"sdkInfo": {
    "language": "JAVA"
}
}

所以我希望docker ps 的输出将gcr.io/&lt;MY PROJECT ID&gt;/samples/dataflow/streaming-beam-sql 显示为Dataflow 上的图像。当我从 GCR 启动图像以在 GCE 实例上运行时,我在运行 docker ps 时得到以下输出:

我是否应该在 Dataflow 虚拟机上看到我在 Dataflow 模板中引用的图像的名称?还是我在某个地方错过了一步?

谢谢!

【问题讨论】:

    标签: google-cloud-platform google-cloud-dataflow


    【解决方案1】:

    TLDR;您正在查看工作虚拟机而不是启动程序虚拟机。

    对于弹性模板,当您运行作业时,它首先会创建一个启动器虚拟机,在该虚拟机中拉取您的容器并运行它以生成作业图。此步骤完成后,此 VM 将被销毁。然后启动工作虚拟机以实际运行生成的作业图。在工作虚拟机中,不需要您的容器。您的容器仅用于根据传递的参数生成作业图。

    在您的情况下,您正在尝试在工作虚拟机中搜索您的映像。启动器虚拟机寿命很短,以启动器-************************开头。如果您通过 SSH 连接到该虚拟机并执行 docker ps,您将能够看到您的容器映像。

    【讨论】:

    • 有没有办法为工人指定 Docker 镜像?我很想在 Docker 映像中包含重文件(ML 模型),以便我的 ParDo 可以从磁盘读取它
    猜你喜欢
    • 2021-03-26
    • 2021-06-16
    • 2018-04-28
    • 2021-12-10
    • 2018-04-09
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多