Поделиться через


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

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

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

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

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

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

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

az group create --name myResourceGroup --location westus

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

Теперь, когда у вас есть группа ресурсов, можно запустить контейнер Spot в Azure. Чтобы создать группу контейнеров Spot с помощью Azure CLI, укажите имя группы ресурсов, имя экземпляра контейнера, образ контейнера и новое свойство с значением "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 CLI, указывающий, что развертывание завершено. Проверьте состояние с помощью команды az container show:

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

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

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

Если контейнер ProvisioningState выполнен успешно, поздравляем! Вы успешно развернули приложение, работающее в контейнере 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

Следующие шаги

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