Облако Google: сборка всегда завершается неудачей, ошибка MANIFEST_UNKNOWN

#google-app-engine #google-cloud-platform #google-cloud-build

#google-app-engine #google-cloud-platform #google-cloud-build

Вопрос:

Я пытаюсь развернуть приложение App Engine, но независимо от того, какой код я пытаюсь развернуть, даже если он взят из их образцов на:

https://github.com/GoogleCloudPlatform/golang-samples

Я получаю ту же ошибку:

 Step #1: error building image: getting stage builder for stage 0: MANIFEST_UNKNOWN: "Manifest with digest 'sha256:249859465bcde1cb15128ff0d9eb2bb54de67f72a834a7576e6649cfe0a27698' has media type 'application/vnd.docker.distribution.manifest.list.v2 json', but client accepts 'application/vnd.docker.distribution.manifest.v2 json'."
  

Я не силен в devops, поэтому понятия не имею, как с этим справиться

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

1. Можете ли вы предоставить более подробную информацию? Какую команду вы выполняете? Какая версия? Каково содержимое вашего файла app.yaml,…

2. Нам понадобятся подробности, чтобы двигаться дальше. Пожалуйста, предоставьте их.

Ответ №1:

Недавно я столкнулся с такой же проблемой. После некоторого изучения выясняется, что о проблеме уже сообщалось в GCP Issue Tracker: https://issuetracker.google.com/issues/171756486

В качестве обходного пути обновите app.yaml файл, чтобы он содержал runtime: go1.13 .

Обновить:

Развертывание с runtime: go1.13 помощью работает только при первом запуске. При попытке повторного развертывания все равно произойдет сбой.

Обновление 2:

Команда Google откатила проблему на своей стороне. (источник)

Чтобы заставить его работать, вам нужно будет понизить версию gcloud до версии 315.0.0 :

 gcloud components update --version 315.0.0
  

После этого развертывание будет продолжаться как обычно.

Ответ №2:

Я столкнулся с той же проблемой при развертывании в AppEngine Flexible сегодня. Я не думаю, что это то, что вы можете сделать. Я открыл проблему на github, надеюсь, команда Google Cloud быстро ее исправит.

Для информации, проблема, с которой сталкивается OP, заключается в том, что при запуске gcloud app deploy app.yaml он ожидает, что приложение будет развернуто.

Облачная сборка пытается получить изображение с типом носителя, который он не понимает.

Получено: application/vnd.docker.distribution.manifest.list.v2 json ожидаемое: application/vnd.docker.distribution.manifest.v2 json

 Step #0: gcr.io/gcp-runtimes/go1-builder@sha256:7b53332a8e6418ba9a3f123c29dd5fe075504d0f9c0b683edfc7e7b75cd27822
Finished Step #0
Starting Step #1
Step #1: Already have image (with digest): gcr.io/kaniko-project/executor@sha256:f87c11770a4d3ed33436508d206c584812cd656e6ed08eda1cff5c1ee44f5870
Step #1: INFO[0000] Downloading base image gcr.io/distroless/base@sha256:884ac2144c3ee154bd67271e99bc6ef00f430092750167729b0321ab55fde5ec 
Step #1: error building image: getting stage builder for stage 0: MANIFEST_UNKNOWN: "Manifest with digest 'sha256:884ac2144c3ee154bd67271e99bc6ef00f430092750167729b0321ab55fde5ec' has media type 'application/vnd.docker.distribution.manifest.list.v2 json', but client accepts 'application/vnd.docker.distribution.manifest.v2 json'."
  

Ответ №3:

Google ответил на эту ошибку, в которой говорилось о необходимости понизить версию до gcloud 315.0.0, которую я только что протестировал, и она сработала.

gcloud components update --version 315.0.0

Ответ №4:

Я столкнулся с той же проблемой и решил ее, добавив

сервис: по умолчанию

в моем app.yaml