Аналитика контейнеров 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 .
Для просмотра данных мониторинга необходимо иметь назначение ролей Log Analytics Reader в рабочей области log Analytics.
В дополнение к требованиям к сети Kubernetes с поддержкой Azure Arc необходимо включить следующие конечные точки для исходящего доступа.
Общедоступное облако Azure
Конечная точка Порт *.ods.opinsights.azure.com
443 *.oms.opinsights.azure.com
443 dc.services.visualstudio.com
443 *.monitoring.azure.com
443 login.microsoftonline.com
443 В следующей таблице перечислены дополнительные конфигурации брандмауэра, необходимые для проверки подлинности управляемого удостоверения.
Ресурс агента Цель Порт global.handler.control.monitor.azure.com
Служба контроля доступа 443 <cluster-region-name>.handler.control.monitor.azure.com
Получение правил сбора данных для конкретного кластера AKS 443 Облако Azure для государственных организаций
Если ваш ресурс Kubernetes с поддержкой Azure Arc находится в среде Azure для государственных организаций США, для исходящего доступа необходимо включить следующие конечные точки:
Конечная точка Порт *.ods.opinsights.azure.us
443 *.oms.opinsights.azure.us
443 dc.services.visualstudio.com
443 В следующей таблице перечислены дополнительные конфигурации брандмауэра, необходимые для проверки подлинности управляемого удостоверения.
Ресурс агента Цель Порт global.handler.control.monitor.azure.cn
Служба контроля доступа 443 <cluster-region-name>.handler.control.monitor.azure.cn
Получение правил сбора данных для конкретного кластера AKS 443 Если вы используете кластер с поддержкой 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.
Создание экземпляра расширения
Вариант 1 — со значениями по умолчанию
Этот параметр использует следующие значения по умолчанию:
- Создает или использует существующую рабочую область log Analytics по умолчанию, соответствующую региону кластера
- Автоматическое обновление включено для расширения кластера Azure Monitor
Примечание
Проверка подлинности управляемого удостоверения используется по умолчанию в k8s-extension версии 1.43.0 или более поздней.
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
удостоверения, добавьте параметр следующим образом:
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 amalogs.useAADAuth=true
Примечание
Проверка подлинности управляемого удостоверения не поддерживается для кластеров Kubernetes с поддержкой Arc с помощью ARO.
Чтобы использовать устаревшую или неуправляемую проверку подлинности удостоверений для создания экземпляра расширения в кластерах, подключенных к Arc K8S с помощью ARO, используйте приведенные ниже команды, которые не используют управляемое удостоверение. Подключение без интерфейса командной строки не поддерживается для кластеров Kubernetes с поддержкой Arc с ARO. В настоящее время поддерживается только расширение k8s версии 1.3.7 или ниже.
Если вы используете версию расширения k8s выше 1.3.7, понизите версию.
Install the extension with **amalogs.useAADAuth=false**.
az extension add --name k8s-extension --version 1.3.7
Установите расширение с помощью amalogs.useAADAuth=false.
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 amalogs.useAADAuth=false
Вариант 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 amalogs.resources.daemonset.limits.cpu=150m amalogs.resources.daemonset.limits.memory=600Mi amalogs.resources.deployment.limits.cpu=1 amalogs.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 amalogs.logsettings.custommountpath=/home/data/docker
Вариант 5. Использование области Приватный канал (AMPLS) и прокси-сервера Azure Monitor
Если в кластере настроен прокси-сервер пересылки, параметры прокси-сервера автоматически применяются к расширению. В случае кластера с AMPLS + прокси-сервером конфигурацию прокси-сервера следует игнорировать. Подключение расширения с помощью параметра amalogs.ignoreExtensionProxySettings=true
конфигурации .
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 amalogs.ignoreExtensionProxySettings=true
Примечание
Если вы явно указываете версию расширения для установки в команде CREATE, убедитесь, что указанная версия >= 2.8.2.
Проверка состояния установки расширения
После успешного создания расширения Azure Monitor для кластера Kubernetes с поддержкой Azure Arc вы можете дополнительно проверить состояние установки с помощью портала Azure или CLI. Для успешной установки должно отображаться состояние "Установлено". Если отображается состояние "Сбой" или (в течение длительного периода) "Ожидание", перейдите к разделу "Устранение неполадок" ниже.
- На портале Azure выберите кластер Kubernetes с поддержкой Azure Arc, где устанавливается расширение.
- В области ресурсов слева выберите элемент "Расширения" в разделе "Параметры".
- Вы увидите расширение с именем azuremonitor-containers в списке с соответствующим состоянием в столбце "Состояние установки".
Переход на проверку подлинности управляемого удостоверения
Используйте текущее руководство для переноса существующего экземпляра расширения на проверку подлинности с управляемым удостоверением.
Примечание
Проверка подлинности управляемого удостоверения не поддерживается для кластеров Kubernetes с поддержкой Arc с помощью ARO.
Сначала получите рабочую область Log Analytics, настроенную для расширения Аналитики контейнеров.
az k8s-extension show --name azuremonitor-containers --cluster-name \<cluster-name\> --resource-group \<resource-group\> --cluster-type connectedClusters -n azuremonitor-containers
Включите расширение Аналитики контейнеров с параметром проверки подлинности управляемого удостоверения, используя рабочую область, возвращенную на первом шаге.
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 amalogs.useAADAuth=true logAnalyticsWorkspaceResourceID=\<workspace-resource-id\>
Удаление экземпляр расширения
Следующая команда удаляет только экземпляр расширения, но не удаляет рабочую область 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 не будет содержать сведения о кластере. В результате на панели Аналитика могут отображаться неверные сведения о состоянии кластера.
Устранение неполадок
Чтобы помочь диагностировать проблему с включением мониторинга, используйте этот сценарий поиска и устранения неполадок.
Дальнейшие действия
Включив мониторинг для получения сведений о работоспособности и использовании ресурсов гибридного кластера Kubernetes с поддержкой Azure Arc и рабочих нагрузок на них, узнайте, как использовать Container Insights.
По умолчанию контейнерный агент собирает журналы stdout/stderr всех контейнеров, работающих во всех пространствах имен, за исключением kube-system. Чтобы настроить сбор журналов контейнеров для конкретных пространств имен, ознакомьтесь с разделом Конфигурация агента Container Insights, чтобы настроить необходимые параметры сбора данных в файле конфигурации ConfigMap.
Чтобы извлечь и проанализировать метрики Prometheus из кластера, см. раздел Настройка извлечения метрик Prometheus