Руководство по настройке контейнера на стороне для пользовательского контейнера в службе приложение Azure (предварительная версия)
В этом руководстве вы добавите сборщик OpenTelemetry в качестве контейнера на стороне в пользовательское приложение контейнера Linux в службе приложение Azure.
В службе приложение Azure можно добавить до 4 контейнеров бокового контейнера для каждого пользовательского приложения контейнера с поддержкой бокового контейнера. Контейнеры на стороне позволяют развертывать дополнительные службы и функции в приложении контейнера без тесной привязки к основному контейнеру приложения. Например, можно добавить мониторинг, ведение журнала, конфигурацию и сетевые службы в качестве контейнеров на стороне. Боковая машина сборщика OpenTelemetry является одним из таких примеров мониторинга.
Дополнительные сведения о боковых автомобилях см . в шаблоне sidecar.
Примечание.
Для периода предварительной версии поддержка бокового автомобиля должна быть включена при создании приложения. В настоящее время нет способа включить поддержку бокового автомобиля для существующего приложения.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
1. Настройка необходимых ресурсов
Сначала вы создадите ресурсы, используемые в руководстве (дополнительные сведения см. в разделе "Обзор Cloud Shell"). Они используются для этого конкретного сценария и не требуются для контейнеров боковинка в целом.
В Azure Cloud Shell выполните следующие команды:
git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs cd app-service-sidecar-tutorial-prereqs azd provision
При появлении запроса укажите нужное имя среды, подписку и регион. Например:
- Имя среды: my-sidecar-env
- Подписка: ваша подписка.
- Регион: (Европа) Западная Европа
После завершения развертывания вы увидите следующие выходные данные:
APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=...;IngestionEndpoint=...;LiveEndpoint=... Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/.../resourceGroups/...
Откройте ссылку группы ресурсов на вкладке браузера. Вам потребуется использовать строка подключения позже.
Примечание.
azd provision
использует включенные шаблоны для создания следующих ресурсов Azure:- группа ресурсов;
- Реестр контейнеров с двумя образами, развернутыми:
- Изображение Nginx с модулем OpenTelemetry.
- Образ сборщика OpenTelemetry, настроенный для экспорта в Azure Monitor.
- Рабочая область Log Analytics
- Компонент Application Insights
2. Создание приложения с поддержкой бокового автомобиля
На странице управления группой ресурсов нажмите кнопку "Создать".
Найдите веб-приложение, а затем щелкните стрелку вниз в разделе "Создать" и выберите "Веб-приложение".
Настройте панель "Основные сведения", как показано ниже.
- Имя: уникальное имя.
- Публикация: контейнер
- Операционная система: Linux
- Регион: тот же регион, с которым вы выбрали
azd provision
- План Linux: новый план Служба приложений
Выберите Контейнер. Настройте панель контейнеров следующим образом:
- Поддержка бокового автомобиля: включено
- Источник изображения: Реестр контейнеров Azure
- Реестр: реестр, созданный с помощью
azd provision
- Изображение: nginx
- Тег: последняя версия
- Порт: 80
Примечание.
Эти параметры настраиваются по-разному в приложениях с поддержкой бокового автомобиля. Дополнительные сведения см. в разделе "Различия" для приложений с поддержкой бокового автомобиля.
Выберите Проверить и создать, а затем выберите Создать.
После завершения развертывания выберите "Перейти к ресурсу".
На новой вкладке браузера перейдите
https://<app-name>.azurewebsites.net
на страницу Nginx по умолчанию и просмотрите страницу Nginx.
3. Добавление контейнера боковинка
В этом разделе описано, как добавить контейнер бокового контейнера в пользовательское приложение контейнера.
На странице управления приложения в меню слева выберите Центр развертывания.
В центре развертывания отображаются все контейнеры в приложении. Сейчас он имеет только основной контейнер.
Выберите " Добавить " и настройте новый контейнер следующим образом:
- Имя: otel-collector
- Источник изображения: Реестр контейнеров Azure
- Реестр: реестр, созданный с помощью
azd provision
- Изображение: otel-collector
- Тег: последняя версия
- Порт: 4317
Порт 4317 — это порт по умолчанию, используемый примером контейнера для получения данных OpenTelemetry. Он доступен из любого другого контейнера в приложении
localhost:4317
. Именно так контейнер Nginx отправляет данные на боковику (см . конфигурацию модуля OpenTelemetry для примера образа Nginx).Выберите Применить.
Теперь в центре развертывания должно появиться два контейнера. Основной контейнер помечается Main, а контейнер боковинка помечается боковинка. Каждое приложение должно иметь один основной контейнер, но может иметь несколько контейнеров боковинка.
4. Настройка переменных среды
В примере сценария на стороне otel-сборщика настроен экспорт данных OpenTelemetry в Azure Monitor, но он нуждается в строка подключения в качестве переменной среды (см. файл конфигурации OpenTelemetry для образа otel-сборщика).
Вы настраиваете переменные среды для контейнеров, таких как любое приложение Служба приложений, путем настройки параметров приложения. Параметры приложения доступны для всех контейнеров в приложении.
На странице управления приложения в меню слева выберите "Конфигурация".
Добавьте параметр приложения, выбрав новый параметр приложения и настройте его следующим образом:
- Имя: APPLICATIONINSIGHTS_CONNECTION_STRING
- Значение: строка подключения в выходных данных
azd provision
Нажмите кнопку "Сохранить", а затем нажмите кнопку "Продолжить".
Примечание.
Некоторые параметры приложения не применяются к приложениям с поддержкой бокового автомобиля. Дополнительные сведения см. в разделе "Различия" для приложений с поддержкой бокового автомобиля
5. Проверка в Application Insights
Теперь боковой контейнер otel-сборщика должен экспортировать данные в Application Insights.
Вернитесь на вкладку
https://<app-name>.azurewebsites.net
браузера, обновите страницу несколько раз, чтобы создать некоторые веб-запросы.Вернитесь на страницу обзора группы ресурсов, выберите ресурс Application Insights. Теперь в диаграммах по умолчанию должны отображаться некоторые данные.
Примечание.
В этом очень распространенном сценарии мониторинга Application Insights — это только один из целевых объектов OpenTelemetry, которые можно использовать, например Jaeger, Prometheus и Zipkin.
Очистка ресурсов
Если вам больше не нужна среда, вы можете удалить группу ресурсов, службу приложений и все связанные ресурсы. Просто выполните следующую команду в Cloud Shell в клонированного репозитория:
azd down
Различия для приложений с поддержкой бокового автомобиля
Вы настраиваете приложения с поддержкой бокового автомобиля по-разному, чем приложения, которые не включены на стороне. В частности, вы не настраиваете основной контейнер и боковики с параметрами приложения, а непосредственно в свойствах ресурса. Эти параметры приложения не применяются для приложений с поддержкой бокового автомобиля:
- Параметры проверки подлинности реестра:
DOCKER_REGISTRY_SERVER_URL
DOCKER_REGISTRY_SERVER_USERNAME
иDOCKER_REGISTRY_SERVER_PASSWORD
. - Порт контейнера:
WEBSITES_PORT