Мониторинг метрик уровня управления Служба Azure Kubernetes (AKS) (предварительная версия)
Работоспособность плоскости управления Служба Azure Kubernetes (AKS) важна для производительности и надежности кластера. Метрики плоскости управления (предварительная версия) обеспечивают большую видимость доступности и производительности, что позволяет максимально повысить общую наблюдаемость и обеспечить эффективность работы. Эти метрики полностью совместимы с Prometheus и Grafana и могут быть настроены только для хранения необходимых данных. С помощью этих новых метрик можно собирать все метрики с сервера API, ETCD, планировщика, автомасштабирования и диспетчера контроллеров.
Эта статья поможет понять эту новую функцию, как реализовать ее и как наблюдать за собранными данными телеметрии.
Предварительные требования и ограничения
- Поддерживает только управляемую службу Azure Monitor для Prometheus.
- Приватный канал не поддерживается.
- Можно настроить только схему ama-metrics-settings-config-map . Все остальные настройки не поддерживаются.
- Кластер должен использовать проверку подлинности управляемого удостоверения.
Установка или обновление aks-preview
расширения Azure CLI
Важно!
Предварительные версии функций AKS доступны на уровне самообслуживания. Предварительные версии предоставляются "как есть" и "при наличии". На них не распространяются соглашения об уровне обслуживания и ограниченная гарантия. Предварительные версии AKS предоставляются с частичной клиентской поддержкой по мере возможности. Следовательно, эти функции не предназначены для использования в рабочей среде. Дополнительные сведения доступны в следующих статьях поддержки.
aks-preview
Установите расширение Azure CLI с помощью az extension add
команды.
az extension add --name aks-preview
Если необходимо обновить версию расширения, это можно сделать с помощью az extension update
команды.
az extension update --name aks-preview
Регистрация флага компонента AzureMonitorMetricsControlPlanePreview
Зарегистрируйте флаг компонента AzureMonitorMetricsControlPlanePreview
, используя команду az feature register, как показано в указанном ниже примере.
az feature register --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Через несколько минут отобразится состояние Registered (Зарегистрировано). Проверьте состояние регистрации с помощью команды az feature show :
az feature show --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Когда состояние отражает зарегистрировано, обновите регистрацию поставщика ресурсов Microsoft.ContainerService с помощью команды az provider register:
az provider register --namespace "Microsoft.ContainerService"
Включение метрик плоскости управления в кластере AKS
Вы можете включить метрики уровня управления с помощью управляемой службы Azure Monitor для надстройки Prometheus во время создания кластера или существующего кластера. Сведения о сборе метрик Prometheus из кластера Kubernetes см. в разделе "Включить Prometheus" и Grafana для кластеров Kubernetes и следуйте инструкциям на вкладке CLI для кластера AKS.
Если в кластере уже развернута надстройка Prometheus, можно просто запустить az aks update
обновление кластера, чтобы начать сбор метрик уровня управления.
az aks update --name <cluster-name> --resource-group <resource-group>
Примечание.
В отличие от метрик, собранных из узлов кластера, метрики плоскости управления собираются компонентом, который не является частью надстройки ama-metrics . AzureMonitorMetricsControlPlanePreview
Включение флага компонента и управляемой надстройки prometheus гарантирует сбор метрик плоскости управления. После включения сбора метрик может потребоваться несколько минут, чтобы данные отображались в рабочей области.
Запрос метрик плоскости управления
Метрики плоскости управления хранятся в рабочей области Azure Monitor в регионе кластера. Их можно запрашивать непосредственно из рабочей области или через экземпляр Управляемой Grafana Azure, подключенный к рабочей области. Чтобы найти рабочую область Azure Monitor, связанную с кластером, в левой области выбранного кластера AKS перейдите в раздел "Мониторинг" и выберите Аналитика. На странице Аналитика контейнера для кластера выберите "Монитор Параметры".
Если вы используете Управляемый Grafana Azure для визуализации данных, вы можете импортировать следующие панели мониторинга. AKS предоставляет шаблоны панелей мониторинга для просмотра и анализа данных телеметрии плоскости управления в режиме реального времени.
Настройка метрик плоскости управления
По умолчанию пакеты AKs включают предварительно настроенный набор метрик для сбора и хранения для каждого компонента. Поля API server
и etcd
по умолчанию включены. Этот список можно настроить с помощью ama-settings-configmap. Список minimal-ingestion
метрик профиля доступен здесь.
Ниже перечислены целевые объекты по умолчанию:
controlplane-apiserver = true
controlplane-cluster-autoscaler = false
controlplane-kube-scheduler = false
controlplane-kube-controller-manager = false
controlplane-etcd = true
Различные параметры похожи на Управляемый Prometheus Azure, перечисленный здесь.
Все конфигурации Карты должны применяться к пространству kube-system
имен для любого кластера.
Прием только минимальных метрик для целевых объектов по умолчанию
Это поведение по умолчанию с параметром default-targets-metrics-keep-list.minimalIngestionProfile="true"
. Только метрики, перечисленные далее в этой статье, получаются для каждого из целевых объектов по умолчанию, которые в данном случае и controlplane-apiserver
controlplane-etcd
.
Прием всех метрик из всех целевых объектов
Выполните следующие действия, чтобы собрать все метрики из всех целевых объектов в кластере.
Скачайте файл ama-metrics-settings-configmap.yaml и переименуйте его
configmap-controlplane.yaml
в .Задайте
minimalingestionprofile = false
и убедитесь, что целевые объекты, в которыхdefault-scrape-settings-enabled
требуется слом, заданыtrue
. Единственными целевыми объектами, которые можно указать, являются:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
иcontrolplane-kube-controller-manager
controlplane-etcd
.Примените ConfigMap, выполнив команду kubectl apply .
kubectl apply -f configmap-controlplane.yaml
После применения конфигурации в рабочей области Azure Monitor метрики из указанных целевых объектов отображаются в рабочей области Azure Monitor.
Прием нескольких других метрик в дополнение к минимальным метрикам
Minimal ingestion profile
— это параметр, который помогает уменьшить объем метрик, так как собираются только метрики, используемые панелями мониторинга по умолчанию, правила записи по умолчанию и оповещения по умолчанию. Выполните следующие действия, чтобы настроить это поведение.
Скачайте файл ama-metrics-settings-configmap и переименуйте его
configmap-controlplane.yaml
в .Задайте
minimalingestionprofile = true
и убедитесь, что целевые объекты, в которыхdefault-scrape-settings-enabled
требуется слом, заданыtrue
. Единственными целевыми объектами, которые можно указать, являются:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
иcontrolplane-kube-controller-manager
controlplane-etcd
.default-targets-metrics-keep-list
В разделе укажите список метрик дляtrue
целевых объектов. Например,controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
Примените ConfigMap, выполнив команду kubectl apply .
kubectl apply -f configmap-controlplane.yaml
После применения конфигурации в рабочей области Azure Monitor метрики из указанных целевых объектов отображаются в рабочей области Azure Monitor.
Прием только определенных метрик из некоторых целевых объектов
Скачайте файл ama-metrics-settings-configmap и переименуйте его
configmap-controlplane.yaml
в .Задайте
minimalingestionprofile = false
и убедитесь, что целевые объекты, в которыхdefault-scrape-settings-enabled
требуется слом, заданыtrue
. Единственными целевыми объектами, которые можно указать здесь:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
иcontrolplane-kube-controller-manager
controlplane-etcd
.default-targets-metrics-keep-list
В разделе укажите список метрик дляtrue
целевых объектов. Например,controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
Примените ConfigMap, выполнив команду kubectl apply .
kubectl apply -f configmap-controlplane.yaml
После применения конфигурации в рабочей области Azure Monitor метрики из указанных целевых объектов отображаются в рабочей области Azure Monitor.
Устранение неполадок с метриками уровня управления
Убедите проверка сь, что флаг AzureMonitorMetricsControlPlanePreview
компонента включен, и ama-metrics
модули pod запущены.
Примечание.
Методы устранения неполадок для управляемой службы Azure Prometheus не будут переводить непосредственно здесь, так как компоненты слом плоскости управления не присутствуют в надстройке управляемого prometheus.
Форматирование или ошибки ConfigMap
Обязательно дважды проверка форматирование ConfigMap и правильно ли заполнены поля предполагаемыми значениями. default-targets-metrics-keep-list
В частности, default-scrape-settings-enabled
и minimal-ingestion-profile
.
Изоляция плоскости управления от проблемы уровня данных
Начните с настройки некоторых связанных с узлом метрик и убедитесь, что метрикиtrue
перенаправляются в рабочую область. Это помогает определить, относится ли проблема к метрикам уровня управления.
Прием событий
После применения изменений можно открыть обозреватель метрик на странице обзора Azure Monitor или из раздела "Мониторинг " выбранного кластера. В портал Azure выберите метрики. Проверьте увеличение или уменьшение количества событий, которые будут приема в минуту. Это поможет определить, отсутствует ли конкретная метрика или отсутствуют все метрики.
Конкретная метрика не предоставляется
Существовали случаи, когда метрики документируются, но не предоставляются из целевого объекта и не пересылаются в рабочую область Azure Monitor. В этом случае необходимо убедиться, что другие метрики перенаправляются в рабочую область.
Нет доступа к рабочей области Azure Monitor
Если включить надстройку, возможно, у вас нет доступа к существующей рабочей области. В этом случае это может выглядеть так, как метрики не собираются и пересылаются. Убедитесь, что вы создаете новую рабочую область при включении надстройки или при создании кластера.
Отключение метрик плоскости управления в кластере AKS
Метрики плоскости управления можно отключить в любое время, отключив флаг компонента, отключив управляемый Prometheus или удалив кластер AKS.
Флаг предварительной версии включен после установки Managed Prometheus
Если флаг предварительной версии (AzureMonitorMetricsControlPlanePreview
) включен в существующем кластере Prometheus, потребуется принудительное обновление для кластера для выдачи метрик плоскости управления.
Вы можете запустить az aks update, чтобы убедиться, что обновления кластера начинают собирать метрики плоскости управления.
az aks update -n <cluster-name> -g <resource-group>
Примечание.
Это действие не удаляет существующие данные, хранящиеся в рабочей области Azure Monitor.
Выполните следующую команду, чтобы удалить надстройку метрик, которая удаляет метрики Prometheus.
az aks update --disable-azure-monitor-metrics -n <cluster-name> -g <cluster-resource-group>
Выполните следующую команду, чтобы отключить удаление метрик плоскости управления в кластере AKS, отменив AzureMonitorMetricsControlPlanePreview
регистрацию флага компонента с помощью команды az feature unregister .
az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Вопросы и ответы
Можно ли отменить эти метрики с помощью локального prometheus?
- Метрики плоскости управления в настоящее время нельзя отменить с помощью локального prometheus. Локальный prometheus сможет сломать один экземпляр в зависимости от подсистемы балансировки нагрузки. Эти метрики не рассматриваются, так как часто существует несколько реплик метрик уровня управления, которые будут видимы только через Управляемый Prometheus
Почему агент пользователя недоступен через метрики плоскости управления?
- Метрики плоскости управления в Kubernetes не имеют агента пользователя. Агент пользователя доступен только через журналы плоскости управления, доступные с помощью параметров диагностики
Следующие шаги
После оценки этой функции предварительной версии поделитесь своим отзывом. Мы заинтересованы в слушании того, что вы думаете.
- Дополнительные сведения о списке метрик по умолчанию для плоскости управления AKS.
Azure Kubernetes Service
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по