Service Fabric с ошибкой контейнера Windows при использовании образа док-станции microsoft / aspnet - PullRequest
0 голосов
/ 05 октября 2018

Я могу развернуть свой локальный кластер сервисной фабрики, и он работает нормально.Когда я пытаюсь развернуть его в своем кластере Azure Service Fabric, он выдает ошибку

Error event: SourceId='System.Hosting', Property='Download:1.0:1.0:5fb96531-7b75-42d0-8f23-6a9e42f0bda4'.
There was an error during download.System.Fabric.FabricException (-2147017731)
Container image download failed for ImageName=microsoft/aspnet with unexpected error. Exception=System.Exception: Container image history check failed after successful download. ImageName=microsoft/aspnet.
   at Hosting.ContainerActivatorService.ContainerImageDownloader.d__6.MoveNext().

. При поиске этой ошибки часто встречается ответ, что vm hardrive заполнен (проверьте один из моих узлов, доступно более 100 ГБ).) или что операционная система vm неверна (проверено на vm scaleset, что она работает в 2016-Datacenter-with-Containers).Также некоторые люди упоминают, что на виртуальных машинах недостаточно ресурсов, поэтому я увеличил их до Standard_D3_v2, которого должно быть достаточно.

Я видел, как некоторые люди упоминали об увеличении времени ожидания загрузки контейнера.Контейнер занимает более 5 ГБ, поэтому это потенциально проблема, и он может работать локально, поскольку он поступает из кеша докера.К сожалению, я не уверен, как легко увеличить время ожидания.

Что еще может вызвать эту проблему?

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Убедитесь, что вы указали правильную версию (базового) изображения.Есть несколько, чтобы выбрать из.

Версия образа должна быть совместимой с версией Windows, на которой вы работаете на хосте.

0 голосов
/ 05 октября 2018

Для изображения такого размера, скорее всего, истекает время его загрузки.

Вы можете попробовать:

  • Использовать частный репозиторий в том же регионе, что и ваш кластер, например, 'Azure Container Registry', вы можете получить более высокую скорость загрузки
  • Еслиузкое место в вашей сети. Увеличьте размеры виртуальных машин, большие виртуальные машины будут иметь большую пропускную способность.
  • Настройте кластер так, чтобы он дольше ожидал загрузки образа.Вы можете попробовать установить ContainerImageDownloadTimeout, как описано здесь

Это установлено в конфигурации кластера, манифест кластера будет иметь следующий раздел:

{
        "name": "Hosting",
        "parameters": [
          {
              "name": "ContainerImageDownloadTimeout",
              "value": "1200"
          }
        ]
}

Чтобы изменить настройки из существующего кластера, вы можете следовать инструкциям, найденным здесь и здесь

...