【问题标题】:Custom Runtime Won't Use Dockerfile自定义运行时不会使用 Dockerfile
【发布时间】:2023-03-15 05:06:01
【问题描述】:

我有一个 App Engine 服务,我在一个灵活的环境中部署了一个自定义运行时。部署在 11/20 正常运行。 11/21 gcloud app deploy 停止使用 Dockerfile 并开始将其视为非自定义运行时。 app.yaml 和 Dockerfile 都没有改变。

以下是分别来自 11/20 和 11/21 的示例日志。您会注意到第一个日志的Using Dockerfile found in... 不存在于第二个日志中。

第一个日志,11/20:

2020-11-20 11:12:02,202 DEBUG    root            Loaded Command Group: ['gcloud', 'app']
2020-11-20 11:12:02,547 DEBUG    root            Loaded Command Group: ['gcloud', 'app', 'deploy']
2020-11-20 11:12:02,551 DEBUG    root            Running [gcloud.app.deploy] with arguments: [--project: "distributed-computing-qa", --version: "9-2-0rc9"]
2020-11-20 11:12:02,621 INFO     oauth2client.client Refreshing access_token
2020-11-20 11:12:03,043 DEBUG    root            Loading runtimes experiment config from [gs://runtime-builders/experiments.yaml]
2020-11-20 11:12:03,076 INFO     root            Reading [<googlecloudsdk.api_lib.storage.storage_util.ObjectReference object at 0x0000021920ECA548>]
2020-11-20 11:12:03,526 DEBUG    root            API endpoint: [https://appengine.googleapis.com/], API version: [v1]
2020-11-20 11:12:04,419 INFO     ___FILE_ONLY___ Services to deploy:

2020-11-20 11:12:04,420 INFO     ___FILE_ONLY___ descriptor:      [C:\Users\Benjamin Filkins\Documents\Projects\Deployment\QA\dci\app.yaml]
source:          [C:\Users\Benjamin Filkins\Documents\Projects\Deployment\QA\dci]
target project:  [distributed-computing-qa]
target service:  [default]
target version:  [9-2-0rc9]
target url:      [https://distributed-computing-qa.uc.r.appspot.com]

2020-11-20 11:12:05,272 DEBUG    root            No bucket specified, retrieving default bucket.
2020-11-20 11:12:05,274 DEBUG    root            Using bucket [gs://staging.distributed-computing-qa.appspot.com].
2020-11-20 11:12:05,941 DEBUG    root            Service [appengineflex.googleapis.com] is already enabled for project [distributed-computing-qa]
2020-11-20 11:12:06,109 INFO     ___FILE_ONLY___ Beginning deployment of service [default]...

2020-11-20 11:12:06,123 INFO     root            Ignoring directory [node_modules]: Directory matches ignore regex.
2020-11-20 11:12:09,085 INFO     root            Ignoring directory [server\node_modules]: Directory matches ignore regex.
2020-11-20 11:12:09,679 INFO     root            Using Dockerfile found in C:\Users\Benjamin Filkins\Documents\Projects\Deployment\QA\dci
2020-11-20 11:12:09,679 INFO     ___FILE_ONLY___ Building and pushing image for service [default]

2020-11-20 11:12:10,305 DEBUG    root            Could not call git with args ('config', '--get-regexp', 'remote\\.(.*)\\.url'): Command '['git', 'config', '--get-regexp', 'remote\\.(.*)\\.url']' returned non-zero exit status 1.
2020-11-20 11:12:10,305 INFO     root            Could not generate [source-context.json]: Could not list remote URLs from source directory: C:\Users\Benjamin Filkins\Documents\Projects\Deployment\QA\dci
2020-11-20 11:12:37,592 INFO     root            Uploading [C:\Users\BENJAM~1\AppData\Local\Temp\tmpwbdhi28f\src.tgz] to [staging.distributed-computing-qa.appspot.com/us.gcr.io/distributed-computing-qa/appengine/default.9-2-0rc9:latest]
2020-11-20 11:13:03,413 DEBUG    root            Using builder image: [gcr.io/cloud-builders/docker]

第二个日志,11/21:

2020-11-21 05:10:39,041 DEBUG    root            Loaded Command Group: ['gcloud', 'app']
2020-11-21 05:10:39,177 DEBUG    root            Loaded Command Group: ['gcloud', 'app', 'deploy']
2020-11-21 05:10:39,181 DEBUG    root            Running [gcloud.app.deploy] with arguments: [--project: "distributed-computing-qa", --version: "9-2-0rc10"]
2020-11-21 05:10:39,203 DEBUG    root            Loading runtimes experiment config from [gs://runtime-builders/experiments.yaml]
2020-11-21 05:10:39,231 INFO     root            Reading [<googlecloudsdk.api_lib.storage.storage_util.ObjectReference object at 0x000001E60B3ED208>]
2020-11-21 05:10:39,522 DEBUG    root            API endpoint: [https://appengine.googleapis.com/], API version: [v1]
2020-11-21 05:10:40,196 INFO     ___FILE_ONLY___ Services to deploy:

2020-11-21 05:10:40,198 INFO     ___FILE_ONLY___ descriptor:      [C:\Users\Benjamin 
Filkins\Documents\Projects\Deployment\QA\dci\app.yaml]
source:          [C:\Users\Benjamin Filkins\Documents\Projects\Deployment\QA\dci]
target project:  [distributed-computing-qa]
target service:  [default]
target version:  [9-2-0rc10]
target url:      [https://distributed-computing-qa.uc.r.appspot.com]

2020-11-21 05:10:44,749 DEBUG    root            No bucket specified, retrieving default bucket.
2020-11-21 05:10:44,758 DEBUG    root            Using bucket [gs://staging.distributed-computing-qa.appspot.com].
2020-11-21 05:10:45,460 DEBUG    root            Service [appengineflex.googleapis.com] is already enabled for project [distributed-computing-qa]
2020-11-21 05:10:45,645 INFO     ___FILE_ONLY___ Beginning deployment of service [default]...

2020-11-21 05:10:45,658 INFO     root            Ignoring directory [node_modules]: Directory matches ignore regex.
2020-11-21 05:10:48,255 INFO     root            Ignoring directory [server\node_modules]: Directory matches ignore regex.
2020-11-21 05:10:57,261 DEBUG    root            Could not call git with args ('config', '--get-regexp', 'remote\\.(.*)\\.url'): Command '['git', 'config', '--get-regexp', 'remote\\.(.*)\\.url']' returned non-zero exit status 1.
2020-11-21 05:10:57,261 INFO     root            Could not find any remote repositories associated with [C:\Users\Benjamin Filkins\Documents\Projects\Deployment\QA\dci]. Cloud diagnostic tools may not be able to display the correct source code for this deployment.
2020-11-21 05:11:19,099 DEBUG    root            Skipping upload of [.env]
2020-11-21 05:11:19,099 INFO     root            Incremental upload skipped 100.0% of data

目前正在进行四个独立的项目。同事也可以确认相同的行为。我已经尝试过并且可以确认的内容:

  1. 已将 Google Cloud SDK 更新至最新版本 (319.0.0)
  2. 确认 Cloud Build API 处于活动状态
  3. 已确认 Cloud Build 服务帐号具有 App Engine Admin、Cloud Build Service Account 和 Service Account User 角色
  4. App.yaml 和 Dockerfile 存在于 root 中并且在尝试之间保持不变
  5. App.yaml 包含 runtime: customenv: flex

我无法确定或证明的事情没有影响:

  1. 操作系统 (Windows 10) 发生变化,但在此期间未发生任何更新
  2. 我的 GCP 服务帐号角色/权限发生变化,但考虑到分布在四个不同的项目中并影响多个用户似乎极不可能

非常感谢您对此问题的任何其他见解或我可能错过的其他项目。

【问题讨论】:

  • 我建议您提出support ticket,以便您从团队获得进一步的建议

标签: docker google-app-engine google-cloud-build


【解决方案1】:

我已经通过降级到 SDK 版本 271.0.0 解决了这个问题。我的机器有 Python 2.7 和 3,我注意到 274 及更高版本开始支持使用 Python 3。

升级到 274 或更高版本会导致报告的问题。 273 及以下(我只去了 267)没有报告的问题。虽然我目前无法提供具体证据,但我怀疑 SDK 是否能够确定首选哪个 Python 版本。如前所述,here 对 Python 2 的支持已于 2020 年 9 月 30 日弃用。

【讨论】:

    猜你喜欢
    • 2016-08-08
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    相关资源
    最近更新 更多