Руководство. Развертывание точечных контейнеров с помощью Экземпляры контейнеров 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.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по