Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Istio — это open-source-сервисная сетка, которая прозрачно наслаивается на существующие распределенные приложения. Он предоставляет универсальный и эффективный способ защиты, подключения и мониторинга служб, особенно в архитектуре распределенных приложений.
Istio помогает разработчикам обрабатывать взаимодействие между службами, предоставляя такие функции, как управление трафиком, наблюдаемость, безопасность и применение политик без изменения кода приложения. Он широко используется в современных облачных приложениях, особенно в Kubernetes.
Служба Azure Kubernetes (AKS) теперь предоставляет надстройку на основе Istio для сеточной службы, которая официально поддерживается и протестирована для интеграции с AKS и Kubernetes с поддержкой Azure Arc.
Используя управляемую службу Azure Monitor для Prometheus, вы можете собирать и анализировать метрики в масштабе. Метрики Prometheus хранятся в рабочих областях Azure Monitor. Рабочие области поддерживают средства анализа, такие как Azure Managed Grafana, обозреватель метрик Azure Monitor с PromQL, а также такие инструменты с открытым исходным кодом, как Grafana.
В этой статье приводятся пошаговые инструкции по использованию управляемой службы Azure Monitor для Prometheus для сбора метрик Istio с помощью надстройки сетки на основе Istio для AKS или Kubernetes с поддержкой Azure Arc. Затем можно визуализировать метрики в Azure Managed Grafana.
Предпосылки
Azure CLI установлен и настроен. Чтобы выполнить установку или обновление Azure CLI, ознакомьтесь с этой статьей.
Если вы используете сетевую надстройку на основе Istio для AKS, необходимо, чтобы была установлена версия Azure CLI 2.57.0 или более поздняя. Чтобы проверить версию, можно выполнить команду
az --version.Kubectl установлен для взаимодействия с кластером Kubernetes.
Ограничения
- Для получения списка ограничений, связанных с использованием надстройки на основе Istio для AKS, см. обзорную статью о данной надстройке.
- В настоящее время нет поддержки сбора метрик из конфигурации Istio с взаимной TLS-аутентификацией.
- В настоящее время нет поддержки использования визуализации сетки службы Kiali с управляемой службой для Prometheus.
Настроить Istio, управляемую службу для Prometheus и управляемую Grafana в Azure.
Создайте кластер AKS с включённой управляемой службой для Prometheus.
Сначала необходимо создать кластер AKS (или использовать существующий) и включить управляемую службу для Prometheus и Azure Managed Grafana. Для получения инструкций смотрите Enable Prometheus and Grafana in an AKS cluster.
Если вы используете Azure CLI для создания нового кластера AKS, можно использовать следующие команды:
az group create --name myResourceGroup --location eastus
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 2 --enable-azure-monitor-metrics --generate-ssh-keys
Настройка Istio
С помощью управляемой службы Prometheus можно собирать метрики из Istio с открытым исходным кодом и дополнения на основе сети Istio для AKS.
- Сведения о настройке Istio с открытым исходным кодом см. в руководствах по установке Istio.
- Сведения о настройке надстройки сетки на основе Istio для AKS см. в статье "Развертывание надстройки сеточной сети на основе Istio для Службы Azure Kubernetes".
Получение учетных данных AKS
az account set --subscription <subscription id>
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Настройка управляемой службы для Prometheus для сбора метрик Istio
Чтобы собирать метрики из настройки Istio с помощью управляемой службы для Prometheus, можно использовать заметки pod. Эти заметки автоматически настраиваются с помощью Istio. Необходимо включить сбор данных на основе аннотаций pod в управляемой службе для Prometheus.
Чтобы включить очистку, настройте карту конфигурации в управляемой службе для Prometheus (ama-metrics-settings-configmap.yaml) для включения istio-system пространства имен и пространств имен для настройки бокового автомобиля Istio. Например, если вы настроили Istio для интеграции сайдкар-прокси в my-namespace, обновите конфигурационную карту следующим образом:
pod-annotation-based-scraping: |-
podannotationnamespaceregex = "aks-istio-system|my-namespace"
Предупреждение
Извлечение аннотаций из pod в различных пространствах имен может генерировать большой объем метрик в зависимости от количества pod с аннотациями.
Дополнительные сведения см. в разделе "Включение сбора данных на основе аннотаций pod".
Примените обновленную карту конфигурации к кластеру AKS:
kubectl apply -f ama-metrics-settings-configmap.yaml
Запрос метрик Istio
Метрики, извлеченные из Istio, хранятся в рабочей области Azure Monitor, связанной с управляемой службой для Prometheus. Вы можете запросить метрики напрямую из рабочей области или через экземпляр Azure Managed Grafana, подключенный к рабочей области.
Чтобы просмотреть метрики Istio в рабочей области Azure Monitor, выполните следующие действия.
На портале Azure перейдите в кластер AKS.
В разделе "Мониторинг" выберите "Аналитика"> и "Параметры монитора".
Выберите экземпляр рабочей области Azure Monitor. На странице обзора экземпляра выберите раздел "Метрики" , чтобы запросить метрики для istio_requests_total.
В качестве альтернативы, вы можете выбрать экземпляр Azure Managed Grafana. Затем на странице обзора экземпляра выберите URL-адрес конечной точки. Это действие открывает портал Grafana, где можно запросить метрики хранилища контейнеров Azure. Источник данных автоматически настроен для вас для запросов метрик из связанного рабочей области Azure Monitor.
Чтобы узнать больше о запросах метрик Prometheus из рабочей области Azure Monitor, смотрите Подключение Grafana к метрикам Azure Monitor Prometheus.
Импорт панелей мониторинга Grafana для Istio
Чтобы импортировать следующие панели мониторинга Grafana с помощью идентификатора или JSON, выполните инструкции по импорту панели мониторинга в Grafana:
Сводка
В этой статье показано, как настроить управляемую службу мониторинга для Prometheus для сбора метрик из сетевой инфраструктуры службы, использующей Istio. Затем он показал, как запрашивать собранные метрики в Azure Monitor.
Выполнив действия, описанные в этой статье, вы можете эффективно отслеживать Istio с помощью управляемой службы для Prometheus в Azure. Этот мониторинг позволяет получить ценные сведения о производительности и поведении приложений.
Устранение неполадок
Если у вас возникнут какие-либо проблемы, ознакомьтесь с информацией по устранению неполадок для интерфейса Prometheus.