Пользовательская среда выполнения не будет использовать dockerfile

#docker #google-app-engine #google-cloud-build

# #docker #google-app-engine #google-cloud-build

Вопрос:

У меня есть служба 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:UsersBenjamin FilkinsDocumentsProjectsDeploymentQAdciapp.yaml]
source:          [C:UsersBenjamin FilkinsDocumentsProjectsDeploymentQAdci]
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 [servernode_modules]: Directory matches ignore regex.
2020-11-20 11:12:09,679 INFO     root            Using Dockerfile found in C:UsersBenjamin FilkinsDocumentsProjectsDeploymentQAdci
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:UsersBenjamin FilkinsDocumentsProjectsDeploymentQAdci
2020-11-20 11:12:37,592 INFO     root            Uploading [C:UsersBENJAM~1AppDataLocalTemptmpwbdhi28fsrc.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:UsersBenjamin 
FilkinsDocumentsProjectsDeploymentQAdciapp.yaml]
source:          [C:UsersBenjamin FilkinsDocumentsProjectsDeploymentQAdci]
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 [servernode_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:UsersBenjamin FilkinsDocumentsProjectsDeploymentQAdci]. 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. Подтвержденный API облачной сборки активен
  3. Подтверждено, что учетная запись службы облачной сборки имеет роли администратора App Engine, учетной записи службы облачной сборки и пользователя учетной записи службы
  4. App.yaml и Dockerfile присутствуют в корневом каталоге и не изменяются между попытками
  5. App.yaml содержит runtime: custom и env: flex

То, что я не могу с уверенностью подтвердить или доказать, не оказало влияния:

  1. Изменения в ОС (Windows 10), хотя за этот период обновления не производились
  2. Изменения в моих ролях / разрешениях учетной записи службы GCP, хотя, учитывая распределение по четырем различным проектам и влияние на нескольких пользователей, кажется невероятно маловероятным

Буду признателен за любую дополнительную информацию об этой проблеме или дополнительных элементах, которые я, возможно, пропустил.

Комментарии:

1. Я рекомендую вам обратиться в службу поддержки , чтобы получить дополнительные рекомендации от команды

Ответ №1:

Я решил проблему, понизив версию SDK до версии 271.0.0. На моей машине есть как Python 2.7, так и 3, и я отметил, что 274 и выше начали поддерживать использование Python 3.

Обновление до 274 или выше приводит к сообщаемой проблеме. 273 и ниже (я дошел только до 267) не имеют проблем, о которых сообщалось. Хотя в настоящее время я не могу предоставить конкретные доказательства, я подозреваю, что способность SDK определять, какую версию Python предпочесть. Как отмечалось здесь, поддержка Python 2 устарела 30.09.2020.