Бөлісу құралы:


Руководство. Развертывание точечных контейнеров с помощью Экземпляры контейнеров Azure с помощью Azure CLI (предварительная версия)

Точечные контейнеры сочетают в себе простоту ACI с низкой стоимостью точечных виртуальных машин, что позволяет клиентам легко и доступно выполнять контейнерные прерываемые рабочие нагрузки в большом масштабе. Используйте Экземпляры контейнеров Azure для запуска бессерверных точечных контейнеров. Развертывание приложения в точечный контейнер по запросу, если вы хотите запускать прерываемые контейнерные рабочие нагрузки в неиспользуемой емкости Azure по низкой цене, и вам не нужна полная платформа оркестрации контейнеров, например Служба Azure Kubernetes.

В этом кратком руководстве вы используете Azure CLI для развертывания контейнера helloworld с помощью точечных контейнеров. Через несколько секунд после выполнения одной команды развертывания можно перейти к журналам контейнера:

  • Для работы с этим кратким руководством требуется Azure CLI более поздней версии 2xxx. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

Создание группы ресурсов

Экземпляры контейнеров Azure, как и все ресурсы Azure, должны быть развернуты в группе ресурсов. Группы ресурсов позволяют организовать соответствующие ресурсы Azure и управлять ими.

Сначала создайте группу ресурсов с именем myResourceGroup в расположении westus с помощью следующей команды az group create :

az group create --name myResourceGroup --location westus

Создание контейнера

Теперь, когда у вас есть группа ресурсов, можно запустить точечный контейнер в Azure. Чтобы создать группу точечных контейнеров с помощью Azure CLI, укажите имя группы ресурсов, имя экземпляра контейнера, образ контейнера и новое свойство priority со значением Spot в команде az container create . В этом кратком руководстве используется общедоступный образ mcr.microsoft.com/azuredocs/aci-helloworld. Этот образ содержит небольшое веб-приложение, написанное на Node.js, которое обслуживает статические HTML-страницы.

Вы не можете предоставить точечные контейнеры в Интернете, указав один или несколько открытых портов, метку DNS-имени или оба. В этом кратком руководстве описано, как развернуть контейнер с помощью образа helloworld без метки DNS-имени. Он не будет общедоступным. Вы можете запросить журналы контейнеров, чтобы убедиться, что контейнер прослушивает порт 80 по умолчанию.

Выполните следующую команду для запуска экземпляра контейнера.

az container create --resource-group acispotdemo --name acispotclitest --image mcr.microsoft.com/azuredocs/aci-helloworld --priority spot

Через несколько секунд вы должны получить ответ из интерфейса командной строки Azure, указывающий, что развертывание завершено. Проверьте состояние с помощью команды az container show:

az container show --resource-group acispotdemo --name acispotclitest --query "{ProvisioningState:provisioningState}" --out table

При выполнении команды отображается полное доменное имя (FQDN) и состояние подготовки контейнера.

ContainerGroupName                               ProvisioningState
---------------------------------  -------------------
acispotclitest                        Succeeded

Если контейнер ProvisioningState имеет значение Succeeded, поздравляем! Вы успешно развернули приложение, выполняющееся в контейнере Docker в Azure.

Извлечение журналов контейнера

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

Извлеките журналы экземпляра контейнера с помощью команды az container logs:

az container logs --resource-group acispotdemo --name acispotclitest

В выходных данных отображаются журналы для контейнера и должны отображаться приведенные ниже выходные данные.

listening on port 80

Присоединение потоков вывода

Кроме просмотра журналов можно присоединять локальные стандартные потоки вывода и стандартные потоки для вывода сообщений об ошибках контейнера.

Сначала выполните команду az container attach, чтобы присоединить локальную консоль к потокам вывода контейнера:

az container attach --resource-group acispotdemo --name acispotclitest

После присоединения обновите браузер несколько раз, чтобы создать дополнительные выходные данные. Когда все будет готово, отсоедините консоль с помощью Control+C. Вы должны увидеть результат, аналогичный приведенному ниже:

Container 'acispotclitest' is in state 'Running'...
Start streaming logs:
listening on port 80

Очистка ресурсов

По завершении работы с контейнером удалите его с помощью команды az container delete:

az container delete --resource-group acispotdemo --name acispotclitest

Чтобы проверить, удален ли контейнер, выполните команду az container list.

az container list --resource-group acispotdemo --output table

Контейнер acispotclitest не должен отображаться в выходных данных команды. Если у вас нет других контейнеров в группе ресурсов, выходные данные будут отсутствовать.

Если вы закончили работу с группой ресурсов acispotdemo и всеми содержащимися в ней ресурсами, удалите ее с помощью команды az group delete :

az group delete --name acispotdemo

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

В этом руководстве вы создали точечный контейнер на Экземпляры контейнеров Azure с квотой по умолчанию и политикой вытеснения с помощью Azure CLI.