Руководство. Развертывание точечных контейнеров с Экземпляры контейнеров 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.