Аналитика контейнеров Azure Monitor для кластеров Kubernetes с поддержкой Azure Arc
Аналитика контейнеров Azure Monitor Container Insights предоставляет широкие возможности мониторинга для кластеров Kubernetes с поддержкой Azure Arc.
Поддерживаемые конфигурации
- Аналитика контейнеров Azure Monitor Container Insights поддерживает мониторинг Azure Arc с включенным Kubernetes, как описано в обзорной статье, за исключением функции интерактивных данных. Кроме того, пользователям необязательно иметь разрешения владельца для включения метрик
Docker,Mobyи CRI-совместимые среды выполнения контейнеров, такие какCRI-Oиcontainerd.- Поддерживается исходящий прокси-сервер без аутентификации и исходящий прокси с обычной проверкой подлинности. Исходящий прокси-сервер, для которого требуются доверенные сертификаты, сейчас не поддерживается.
Примечание
В случае миграции с Container Insights на Azure Red Hat OpenShift 4.x также отключите мониторинг, прежде чем продолжать настройку Container Insights в Kubernetes с поддержкой Azure Arc, чтобы предотвратить проблемы с установкой.
Предварительные условия
Предварительные требования, перечисленные в обобщенной документации по расширениям кластеров.
Рабочая область Log Analytics. Контейнерная аналитика Azure Monitor Container Insights поддерживает рабочую область Log Analytics в регионах, перечисленных на странице продуктов Azure по регионам. Вы можете создать собственную рабочую область с помощью Azure Resource Manager, PowerShell или портала Azure.
Назначение роли Участник в подписке Azure, содержащей ресурс Kubernetes с поддержкой Azure Arc. Если рабочая область Log Analytics находится в другой подписке, в рабочей области Log Analytics требуется назначение роли Log Analytics Contributor.
Для просмотра данных мониторинга необходимо иметь назначение ролей Log Analytics Reader в рабочей области log Analytics.
Следующие конечные точки должны быть включены для исходящего доступа в дополнение к тем, которые были упомянуты в разделе Подключение кластера Kubernetes к службе Azure Arc.
Конечная точка Порт *.ods.opinsights.azure.com443 *.oms.opinsights.azure.com443 dc.services.visualstudio.com443 *.monitoring.azure.com443 login.microsoftonline.com443 Если ваш ресурс Kubernetes с поддержкой Azure Arc находится в среде Azure для государственных организаций США, для исходящего доступа необходимо включить следующие конечные точки:
Конечная точка Порт *.ods.opinsights.azure.us443 *.oms.opinsights.azure.us443 dc.services.visualstudio.com443 Если вы используете кластер с поддержкой Arc в AKS и ранее установили мониторинг для AKS, не забудьте перед продолжением отключить мониторинг, чтобы избежать проблем во время установки расширения.
Если вы ранее развернули контейнерную аналитику Azure Monitor Container Insights в этом кластере с помощью скрипта без расширений кластера, следуйте приведенным здесь инструкциям, чтобы удалить эту диаграмму Helm. Затем можно продолжить создание экземпляра расширения кластера для контейнерной аналитики Azure Monitor Container Insights.
Укажите идентификатор ресурса рабочей области
Выполните следующие команды, чтобы указать полный идентификатор Azure Resource Manager Log Analytics рабочей области.
Перечислите все подписки, к которым у вас есть доступ, с помощью следующей команды:
az account list --all -o tableПерейдите к подписке, в которой размещена рабочая область Log Analytics, с помощью следующей команды:
az account set -s <subscriptionId of the workspace>В следующем примере отображается список рабочих областей в подписках в формате JSON по умолчанию.
az resource list --resource-type Microsoft.OperationalInsights/workspaces -o jsonВ выходных данных найдите интересующее имя рабочей области.
idПоле объекта, представляющее идентификатор Azure Resource Manager этой рабочей области log Analytics.Совет
Его
idтакже можно найти в колонке Обзор рабочей области Log Analytics с помощью портала Azure.
Создание экземпляра расширения с помощью Azure CLI
Вариант 1 — со значениями по умолчанию
Этот параметр использует следующие значения по умолчанию:
- Создает или использует существующую рабочую область log Analytics по умолчанию, соответствующую региону кластера
- Автоматическое обновление включено для расширения кластера Azure Monitor
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers
Вариант 2. Существующая рабочая область Azure Log Analytics
Вы можете использовать существующую рабочую область Azure Log Analytics в любой подписке, в которой имеется Contributor или более разрешительное назначение ролей.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID=<armResourceIdOfExistingWorkspace>
Вариант 3. С расширенной конфигурацией
Если вы хотите настроить запросы и ограничения ресурсов по умолчанию, можно использовать дополнительные параметры конфигурации:
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings omsagent.resources.daemonset.limits.cpu=150m omsagent.resources.daemonset.limits.memory=600Mi omsagent.resources.deployment.limits.cpu=1 omsagent.resources.deployment.limits.memory=750Mi
Чтобы получить доступные параметры конфигурации, изучите раздел "запросы и ограничения ресурсов" диаграммы Helm.
Вариант 4 — в Azure Stack Edge
Если кластер Kubernetes с поддержкой Azure Arc находится на Azure Stack Edge, необходимо использовать пользовательский путь подключения /home/data/docker.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings omsagent.logsettings.custommountpath=/home/data/docker
Примечание
Если вы явно указываете версию расширения для установки в команде CREATE, убедитесь, что указанная версия >= 2.8.2.
Создание экземпляра расширения с помощью портала Azure
Важно!
Если вы развертываете Azure Monitor в кластере Kubernetes, работающем поверх Azure Stack Edge, то необходимо использовать параметр Azure CLI вместо параметра портала Azure, поскольку для этих кластеров необходимо задать настраиваемый путь подключения.
Подключение из колонки ресурсов Kubernetes с включенной Azure Arc
В портале Azure выберите кластер Kubernetes с поддержкой Azure Arc, который вы хотите отслеживать.
Выберите элемент Insights в разделе "Monitoring" в колонке ресурсов.
На странице адаптации нажмите кнопку "Configure Azure Monitor"
Теперь можно выбрать рабочую область log Analytics, в которую будут отправлены метрики и данные журналов.
Нажмите кнопку "Configure", чтобы развернуть расширение кластера Azure Monitor Container Insights.
Подключение из колонки Azure Monitor
В портале Azure перейдите в колонку "Monitor" и выберите пункт "Containers" в меню "Insights".
Перейдите на вкладку "Неотслеживаемые кластеры" (Unmonitored clusters), чтобы просмотреть кластеры Kubernetes с поддержкой Azure Arc, для которых можно включить мониторинг.
Щелкните ссылку "включить" (Enable) рядом с кластером, для которого требуется включить мониторинг.
Чтобы продолжить, выберите рабочую область Log Analytics и нажмите кнопку "настроить" (Configure).
Создайте экземпляр расширения с помощью Azure Resource Manager
Загрузите шаблон и параметр Azure Resource Manager:
curl -L https://aka.ms/arc-k8s-azmon-extension-arm-template -o arc-k8s-azmon-extension-arm-template.json curl -L https://aka.ms/arc-k8s-azmon-extension-arm-template-params -o arc-k8s-azmon-extension-arm-template-params.jsonОбновите значения параметров в файле arc-k8s-azmon-extension-arm-template-params.json file. Для общедоступного облака Azure в качестве значения workspaceDomain необходимо указать
opinsights.azure.com, а для AzureUSGovernment —opinsights.azure.us.Развертывание шаблона для создания расширения Azure Monitor Container Insights
az login az account set --subscription "Subscription Name" az deployment group create --resource-group <resource-group> --template-file ./arc-k8s-azmon-extension-arm-template.json --parameters @./arc-k8s-azmon-extension-arm-template-params.json
Проверка состояния установки расширения
После успешного создания расширения Azure Monitor для кластера Kubernetes с поддержкой Azure Arc вы можете дополнительно проверить состояние установки с помощью портала Azure или CLI. Для успешной установки должно отображаться состояние "Установлено". Если отображается состояние "Сбой" или (в течение длительного периода) "Ожидание", перейдите к разделу "Устранение неполадок" ниже.
Портал Azure
- На портале Azure выберите кластер Kubernetes с поддержкой Azure Arc, где устанавливается расширение.
- Выберите элемент "Расширения" в разделе "Параметры" в колонке ресурсов.
- Вы увидите расширение с именем azuremonitor-containers в списке с соответствующим состоянием в столбце "Состояние установки".
Azure CLI
Выполните следующую команду, чтобы отобразить последнее состояние расширения Microsoft.AzureMonitor.Containers:
az k8s-extension show --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters -n azuremonitor-containers
Удаление экземпляр расширения
Следующая команда удаляет только экземпляр расширения, но не удаляет рабочую область Log Analytics. Данные в ресурсе Log Analytics остаются без изменений.
az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>
Отключенный кластер
Если кластер отключается от Azure в течение > 48 часов, Azure Resource Graph не будет содержать сведения о кластере. В результате в колонке "Insights " могут отображаться неверные сведения о состоянии кластера.
Устранение неполадок
Чтобы помочь диагностировать проблему с включением мониторинга, используйте этот сценарий поиска и устранения неполадок.
Дальнейшие действия
Включив мониторинг для получения сведений о работоспособности и использовании ресурсов гибридного кластера Kubernetes с поддержкой Azure Arc и рабочих нагрузок на них, узнайте, как использовать Container Insights.
По умолчанию контейнерный агент собирает журналы stdout/stderr всех контейнеров, работающих во всех пространствах имен, за исключением kube-system. Чтобы настроить сбор журналов контейнеров для конкретных пространств имен, ознакомьтесь с разделом Конфигурация агента Container Insights, чтобы настроить необходимые параметры сбора данных в файле конфигурации ConfigMap.
Чтобы извлечь и проанализировать метрики Prometheus из кластера, см. раздел Настройка извлечения метрик Prometheus