Распространенные вопросы о службе "Сетка Service Fabric"

Важно!

Поддержка предварительной версии Сетки Azure Service Fabric была прекращена. Новые развертывания больше не будут разрешены через API Сетки Service Fabric. Поддержка существующих развертываний будет продолжена до 28 апреля 2021 г. включительно.

Дополнительные сведения см. в статье Прекращение поддержки предварительной версии Сетки Azure Service Fabric.

Сетка Azure Service Fabric — это полностью управляемая служба, которая позволяет разработчикам развертывать приложения для микрослужб без управления виртуальными машинами, хранилищем или сетями. Эта статья содержит ответы на часто задаваемые вопросы.

Как сообщить о проблеме или задать вопрос?

Можно задать вопросы, получить ответы от инженеров Майкрософт и сообщить о проблемах в репозитории GitHub service-fabric-mesh-preview.

Квоты и стоимость

Какова стоимость использования предварительной версии?

На данный момент плата за развертывание приложений или контейнеров в предварительной версии службы "Сетка" не взимается. Следите за новостями в мае о том, как подключить выставление счетов. Но мы рекомендуем удалить развернутые ресурсы и не оставлять их работающими, если только они не используются для тестирования.

Существует ли предел квоты числа ядер и объема ОЗУ?

Да. Ниже приведены соответствующие квоты.

  • Число приложений: 5.
  • Ядер на приложение: 12.
  • Общий объем оперативной памяти на приложение: 48 ГБ.
  • Конечных точек сети и входящего трафика: 5.
  • Томов Azure, которые можно подключить: 10.
  • Число реплик службы: 3.
  • Наибольший контейнер, который вы можете развернуть, может использовать 4 ядра и 16 ГБ ОЗУ.
  • Вы можете выделять для контейнеров частичные ядра с шагом в 0,5 ядра, но не более 6 ядер.

Сколько времени приложение может находиться в развернутом состоянии?

На данный момент продолжительность времени существования приложения ограничена двумя днями. Это сделано для эффективного использования свободных ядер, выделенных для предварительного просмотра. Таким образом, вы сможете выполнять развертывание на протяжении не более чем 48 часов, после чего оно будет отключено системой.

Если приложение было отключено, вы можете проверить, было ли это сделано системой, с помощью команды az mesh app show в Azure CLI. Выполните команду, чтобы увидеть, вернется ли результат "status": "Failed", "statusDetails": "Stopped resource due to max lifetime policies for an application during preview. Delete the resource to continue.".

Пример:

az mesh app show --resource-group myResourceGroup --name helloWorldApp
{
  "debugParams": null,
  "description": "Service Fabric Mesh HelloWorld Application!",
  "diagnostics": null,
  "healthState": "Ok",
  "id": "/subscriptions/1134234-b756-4979-84re-09d671c0c345/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabricMesh/applications/helloWorldApp",
  "location": "eastus",
  "name": "helloWorldApp",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "serviceNames": [
    "helloWorldService"
  ],
  "services": null,
  "status": "Failed",
  "statusDetails": "Stopped resource due to max lifetime policies for an application during preview. Delete the resource to continue.",
  "tags": {},
  "type": "Microsoft.ServiceFabricMesh/applications",
  "unhealthyEvaluation": null
}

Чтобы удалить группу ресурсов, используйте команду az group delete <nameOfResourceGroup>.

Развертывания

Какие образы контейнера поддерживаются?

При разработке на компьютере с обновлением Windows Fall Creators (версия 1709) можно использовать только образы Docker для Windows версии 1709.

При разработке на компьютере с обновлением Windows 10 за апрель 2018 г. (версия 1803) можно использовать образы Docker как версии 1709, так и версии 1803.

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

  • Windows: windowsservercore и nanoserver
    • Windows Server 1709
    • Windows Server 1803
    • Windows Server 1809
    • Windows Server 2019 LTSC
  • Linux
    • Известные ограничения отсутствуют

Примечание

Инструменты Visual Studio для службы "Сетка" пока не поддерживают развертывание в контейнерах Windows Server 2019 и 1809.

Какие типы приложений можно развернуть?

Можно развернуть любые компоненты, которые выполняются в контейнерах и соответствуют ограничениям, накладываемым на ресурс приложения (дополнительные сведения о квотах см. выше). Если вы будете использовать службу "Сетка" для недопустимых рабочих нагрузок или злоупотреблять ресурсами системы (например, используете ее для майнинга), мы оставляем за собой право удалить ваши развертывания и заблокировать подписку в этой службе. Если у вас возникнут вопросы по выполнению определенной рабочей нагрузки, обратитесь к нам.

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

Разрешение DNS из контейнера не работает

Исходящие запросы DNS из контейнера в службу DNS Service Fabric могут завершиться ошибкой при определенных обстоятельствах. Эта проблема рассматривается. Чтобы устранить эту проблему, сделайте следующее.

  • Используйте обновление Windows Fall Creators (версии 1709) или выше как базовый образ контейнера.
  • Если само имя службы не работает, попробуйте полное имя: ServiceName.ApplicationName.
  • В файле Docker своей службы добавьте EXPOSE <port>, где port означает порт, через который вы предоставляете свою службу. Пример:
EXPOSE 80

DNS работает не так, как в кластере разработки Service Fabric и службе "Сетка"

Вам может понадобиться по-разному указывать ссылки на службы в локальном кластере разработки и службе "Сетка Azure".

В своем локальном кластере разработки используйте {serviceName}.{applicationName}. В службе "Сетка Azure Service Fabric" используйте {servicename}.

Сейчас служба "Сетка Azure" не поддерживает разрешение DNS между приложениями.

Другие известные проблемы с DNS при запуске кластера разработки Service Fabric на Windows 10 описаны в этих статьях: Отладка контейнеров Windows и Известные проблемы с DNS.

Сеть

Преобразование сетевых адресов (NAT) сети ServiceFabric может исчезнуть при запуске приложения на локальном компьютере. Чтобы определить, случилось ли это, выполните в командной строке команду

docker network ls и обратите внимание, есть ли в списке servicefabric_nat. Если нет, выполните следующую команду: docker network create -d=nat --subnet 10.128.0.0/24 --gateway 10.128.0.1 servicefabric_nat

Это позволит устранить проблему, даже если приложение уже развернуто локально и не работает.

Проблемы с запуском нескольких приложений

Вы можете столкнуться с такой проблемой, как недоступность ЦП, и ограничениями, установленными для всех приложений. Чтобы устранить эту проблему, сделайте следующее.

  • Создайте кластер из пяти узлов.
  • Сократите использование ЦП в службах развернутого приложения. Например, в файле service.yaml своей службы измените cpu: 1.0 на cpu: 0.5.

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

  • Используйте кластер из пяти узлов при развертывании нескольких приложений в локальный кластер.
  • Удалите приложения, которые вы в данный момент не тестируете.

Инструменты VS имеют ограниченную поддержку для контейнеров Windows

Инструменты Visual Studio на данный момент поддерживают развертывание только контейнеров Windows с базовой версией ОС Windows Server 1709 и 1803.

Пробелы в функциях и другие известные проблемы

После развертывания приложения сетевой ресурс, связанный с ним, не имеет IP-адреса

Имеется известная проблема, когда IP-адрес становится доступным не сразу. Проверьте состояние сетевого ресурса через несколько минут, чтобы просмотреть связанный IP-адрес.

Мое приложение не может получить доступ к нужному сетевому ресурсу или ресурсу тома

В модели приложения используйте полный идентификатор ресурса для сетей и томов, чтобы иметь к ним доступ. Ниже приведен образец из примера краткого руководства:

"networkRefs": [
    {
    "name":  "[resourceId('Microsoft.ServiceFabric/networks', 'SbzVotingNetwork')]" 
    }
]

При развертывании затрагиваются все контейнеры, включая запущенные

Над устранением этой ошибки работают.

Дальнейшие действия

Чтобы узнать больше о службе "Сетка Service Fabric", прочитайте этот обзор.