#azure #docker
#azure #docker
Вопрос:
Со вчерашнего дня у меня проблема со службой приложений Azure. Я развертываю новую среду с использованием Terraform
resource "azurerm_app_service" "app" {
name = "awake-kingfish"
location = azurerm_resource_group.app_group.location
resource_group_name = azurerm_resource_group.app_group.name
app_service_plan_id = azurerm_app_service_plan.service_plan.id
https_only = true
client_affinity_enabled = false
tags = local.tags
app_settings = {
"DOCKER_REGISTRY_SERVER_USERNAME" = var.docker_username
"DOCKER_REGISTRY_SERVER_URL" = var.docker_url
"DOCKER_REGISTRY_SERVER_PASSWORD" = var.docker_password
}
site_config {
always_on = true
linux_fx_version = "DOCKER|${var.docker_image}:${var.tag}"
}
}
Переменные docker_username
, docker_url
, docker_password
docker_image
и tag
поступают из конвейера CI / CD и на 100% корректны (тот же конвейер создает этот образ и отправляет его в реестр контейнеров Azure). При запуске службы приложений 4 раза не удается загрузить изображение, но затем оно извлекает его без каких-либо проблем или каких-либо действий с моей стороны. Вот журнал docker из службы приложений:
2020-08-13T15:49:11.472Z INFO - Pulling image from Docker hub: ****.azurecr.io/****:9dd776f05efd0a7ae981446c5e06d45c5c756df9
2020-08-13T15:49:11.682Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://****.azurecr.io/v2/****/manifests/9dd776f05efd0a7ae981446c5e06d45c5c756df9: unauthorized: authentication required, visit https://aka.ms/acr/authorization for more information."}
2020-08-13T15:49:11.685Z ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)
2020-08-13T15:49:11.686Z INFO - Stopping site awake-kingfish because it failed during startup.
2020-08-13T15:49:13.428Z INFO - Pulling image from Docker hub: ****.azurecr.io/****:9dd776f05efd0a7ae981446c5e06d45c5c756df9
2020-08-13T15:49:13.611Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://****.azurecr.io/v2/****/manifests/9dd776f05efd0a7ae981446c5e06d45c5c756df9: unauthorized: authentication required, visit https://aka.ms/acr/authorization for more information."}
2020-08-13T15:49:13.613Z ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)
2020-08-13T15:49:13.615Z INFO - Stopping site awake-kingfish because it failed during startup.
2020-08-13T15:49:17.655Z INFO - Pulling image from Docker hub: ****.azurecr.io/****:9dd776f05efd0a7ae981446c5e06d45c5c756df9
2020-08-13T15:49:17.851Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://****.azurecr.io/v2/****/manifests/9dd776f05efd0a7ae981446c5e06d45c5c756df9: unauthorized: authentication required, visit https://aka.ms/acr/authorization for more information."}
2020-08-13T15:49:17.853Z ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)
2020-08-13T15:49:17.854Z INFO - Stopping site awake-kingfish because it failed during startup.
2020-08-13T15:49:20.549Z INFO - Pulling image from Docker hub: ****.azurecr.io/****:9dd776f05efd0a7ae981446c5e06d45c5c756df9
2020-08-13T15:49:20.736Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://****.azurecr.io/v2/****/manifests/9dd776f05efd0a7ae981446c5e06d45c5c756df9: unauthorized: authentication required, visit https://aka.ms/acr/authorization for more information."}
2020-08-13T15:49:20.745Z ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)
2020-08-13T15:49:20.746Z INFO - Stopping site awake-kingfish because it failed during startup.
2020-08-13T15:54:54.181Z INFO - Pulling image: ****.azurecr.io/****:9dd776f05efd0a7ae981446c5e06d45c5c756df9
2020-08-13T15:54:55.076Z INFO - 9dd776f05efd0a7ae981446c5e06d45c5c756df9 Pulling from ****
2020-08-13T15:54:55.084Z INFO - cbdbe7a5bc2a Pulling fs layer
// ...
2020-08-13T15:55:48.435Z INFO - 7715080b9d20 Extracting 19MB / 19MB
2020-08-13T15:56:17.866Z INFO - 7715080b9d20 Pull complete
2020-08-13T15:56:17.970Z INFO - Digest: sha256:8a2da38f410b91b821ccf2ff2ccdfba12999ea10dc2aa5a60741f3609251cfc5
2020-08-13T15:56:18.067Z INFO - Status: Downloaded newer image for ****.azurecr.io/****:9dd776f05efd0a7ae981446c5e06d45c5c756df9
2020-08-13T15:56:18.093Z INFO - Pull Image successful, Time taken: 1 Minutes and 23 Seconds
2020-08-13T15:56:18.116Z INFO - Starting container for site
2020-08-13T15:56:18.116Z INFO - docker run -d -p 1813:80 --name awake-kingfish_0_39ad6980 -e PORT=80 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=80 -e WEBSITE_SITE_NAME=awake-kingfish -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=awake-kingfish.azurewebsites.net -e WEBSITE_INSTANCE_ID=c4a671a5f8662a541a877e364dbc007723397b4ed45078d3ae1254f25f96e556 ****.azurecr.io/****:9dd776f05efd0a7ae981446c5e06d45c5c756df9
2020-08-13T15:56:18.116Z INFO - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2020-08-13T15:56:52.006Z INFO - Initiating warmup request to container awake-kingfish_0_39ad6980 for site awake-kingfish
2020-08-13T15:56:53.047Z INFO - Container awake-kingfish_0_39ad6980 for site awake-kingfish initialized successfully and is ready to serve requests.
Это огромная проблема, потому что это делает тесты E2E в конвейере бесполезными, поскольку они всегда будут завершаться неудачей. Примерно в прошлом месяце с этой настройкой все работало нормально.
Комментарии:
1. если вы утверждаете, что раньше он работал нормально, а сейчас больше не работает, вам следует обратиться в службу поддержки Azure
2. Служба поддержки Azure направила меня сюда, но, думаю, мне нужно будет заплатить дополнительные 29 долларов.
3. Если вы можете доказать им (с помощью журналов и т.д.), Что раньше это работало нормально, тогда я хотел бы подчеркнуть вместе с ними, что это должно быть охвачено стандартной поддержкой
4. Стандартная поддержка охватывает только проблемы с выставлением счетов / квотами, любые технические вопросы требуют платной поддержки. Я также не могу опубликовать вопрос на форумах MSN, потому что после отправки он выдает отказ в доступе.