Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве описано, как создать приложение-контейнер в кластер Kubernetes с поддержкой Azure Arc и научиться:
- Создание приложения-контейнера в Azure Arc
- Просмотр диагностики приложения
Предварительные условия
Прежде чем приступить к созданию приложения-контейнера, сначала необходимо настроить кластер Kubernetes с поддержкой Azure Arc для запуска приложений контейнеров Azure.
Добавление расширений Azure CLI
Откройте среду Bash в Azure Cloud Shell.
Затем добавьте необходимые расширения Azure CLI.
Предупреждение
Следующая команда устанавливает пользовательское расширение "Приложения контейнеров", которое нельзя использовать с общедоступной облачной службой. При переключении в общедоступное облако Azure необходимо удалить расширение.
az extension add --upgrade --yes --name customlocation
az extension add --name containerapp --upgrade --yes
Создание группы ресурсов
Создайте группу ресурсов для служб, созданных в этом руководстве.
GROUP_NAME="my-container-apps-resource-group"
az group create --name $GROUP_NAME --location eastus
Получение сведений о особом расположении
Получите следующую группу расположений, имя и идентификатор администратора кластера. Дополнительные сведения см. в статье "Создание настраиваемого расположения ".
CUSTOM_LOCATION_GROUP="<RESOURCE_GROUP_CONTAINING_CUSTOM_LOCATION>"
CUSTOM_LOCATION_NAME="<NAME_OF_CUSTOM_LOCATION>"
Получите идентификатор местоположения.
CUSTOM_LOCATION_ID=$(az customlocation show \
--resource-group $CUSTOM_LOCATION_GROUP \
--name $CUSTOM_LOCATION_NAME \
--query id \
--output tsv)
Получение идентификатора подключенной среды
Теперь, когда у вас есть идентификатор пользовательского расположения, вы можете выполнить запрос для получения данных о подключенной среде.
Подключенная среда в значительной степени аналогична стандартной среде контейнерных приложений, но базовый кластер Kubernetes с поддержкой Arc управляет ограничениями сети.
CONTAINER_APP_NAME="my-container-app"
CONNECTED_ENVIRONMENT_ID=$(az containerapp connected-env list --custom-location $CUSTOM_LOCATION_ID -o tsv --query '[].id')
Создать приложение
В приведенном ниже примере создается приложение Node.js.
az containerapp create \
--resource-group $GROUP_NAME \
--name $CONTAINER_APP_NAME \
--environment $CONNECTED_ENVIRONMENT_ID \
--environment-type connected \
--image mcr.microsoft.com/k8se/quickstart:latest \
--target-port 80 \
--ingress external
az containerapp browse --resource-group $GROUP_NAME --name $CONTAINER_APP_NAME
Получение журналов диагностики с помощью Log Analytics
Примечание.
Конфигурация Log Analytics необходима при установке расширения "Приложения контейнеров" для просмотра диагностических сведений. Если расширение установлено без Log Analytics, пропустите этот шаг.
Перейдите в рабочую область Log Analytics, настроенную с расширением "Приложения контейнеров", а затем выберите журналы в области навигации слева.
Выполните приведенный ниже пример запроса, чтобы отобразить журналы за последние 72 часа.
Если при выполнении запроса возникает ошибка, повторите попытку через 10–15 минут. Может возникнуть задержка с началом получения логов от вашего приложения в Log Analytics.
let StartTime = ago(72h);
let EndTime = now();
ContainerAppConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where ContainerAppName_s =~ "my-container-app"
Журналы всех приложений, размещенных в вашем кластере Kubernetes, сохраняются в рабочей области Log Analytics в таблице пользовательских журналов с именем ContainerAppConsoleLogs_CL.
- Log_s содержит журналы приложений для данного расширения "Приложения контейнеров"
- AppName_s содержит имя приложения-контейнера. Помимо журналов, записываемых с помощью кода приложения, столбец Log_s также содержит журналы при запуске и завершении работы контейнера.
Дополнительные сведения о запросах к журналам см. в статье о начале работы с Kusto.