Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы узнаете, как отслеживать плоскость управления Службы Azure Kubernetes (AKS) с помощью метрик уровня управления в Azure Monitor.
AKS бесплатно поддерживает подмножество метрик плоскости управления с помощью метрик платформы Azure Monitor. Функция метрик уровня управления обеспечивает видимость доступности и производительности критически важных компонентов плоскости управления, таких как сервер API и т. д., планировщик, автомасштабирование и диспетчер контроллеров в AKS. Эта функция также полностью совместима с управляемой службой Prometheus и Azure Managed Grafana. Эти метрики можно использовать для повышения общей наблюдаемости и поддержания эффективности работы кластера AKS.
Метрики платформы управления
AKS предлагает некоторые бесплатные метрики уровня управления для мониторинга сервера API и etcd. Эти метрики автоматически собираются для всех кластеров AKS без затрат. Вы можете проанализировать метрики с помощью обозревателя метрик на портале Azure. Вы также можете создавать оповещения на основе метрик с помощью данных метрик.
Полный список поддерживаемых метрик платформы плоскости управления см. в справочнике по мониторингу AKS.
Предварительные требования и ограничения
- Функция метрик уровня управления (предварительная версия) поддерживает только управляемую службу для Prometheus в Azure Monitor.
- Приватный канал Azure не поддерживается.
- Настроить можно только файл конфигурации по умолчанию
ama-metrics-settings-configmap.yaml. Другая настройка не поддерживается. - Кластер AKS должен использовать проверку подлинности управляемого удостоверения.
Установка расширения aks-preview
Внимание
Предварительные версии функций AKS доступны на уровне самообслуживания. Предварительные версии предоставляются "как есть" и "при наличии". На них не распространяются соглашения об уровне обслуживания и ограниченная гарантия. Предварительные версии AKS предоставляются с частичной клиентской поддержкой по мере возможности. Следовательно, эти функции не предназначены для использования в рабочей среде. Дополнительные сведения доступны в следующих статьях поддержки.
Установите или обновите расширение Azure CLI, используя команду
aks-previewилиaz extension add.# Install the aks-preview extension az extension add --name aks-preview # Update the aks-preview extension az extension update --name aks-preview
Регистрация флага компонента AzureMonitorMetricsControlPlanePreview
Зарегистрируйте
AzureMonitorMetricsControlPlanePreviewфлаг функции с помощью командыaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"В течение нескольких минут состояние отображается как зарегистрированное.
Проверьте состояние регистрации с помощью
az feature showкоманды:az feature show --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"Когда состояние — Зарегистрировано, обновите регистрацию поставщика ресурсов Microsoft.ContainerService, используя команду
az provider register.az provider register --namespace "Microsoft.ContainerService"
Включение метрик плоскости управления в кластере AKS
Включите метрики плоскости управления с помощью управляемой службы для надстройки Prometheus при создании нового кластера или обновлении существующего кластера.
Примечание.
В отличие от метрик, собираемых с узлов кластера, метрики плоскости управления собираются компонентом, который не является частью ama-metrics надстройки. Включение флага функции AzureMonitorMetricsControlPlanePreview и управляемой службы надстройки Prometheus гарантирует, что собираются метрики плоскости управления. После включения сбора метрик может потребоваться несколько минут, чтобы данные отобразились в рабочей области.
Новый кластер AKS
Сведения о сборе метрик Prometheus из вашего кластера AKS с помощью управляемой службы см. в разделе "Включение Prometheus и Grafana для кластеров AKS". Для кластера AKS выполните действия, описанные на вкладке CLI .
Существующий кластер AKS
Если в вашем кластере уже установлена управляемая служба надстройки Prometheus, обновите кластер, чтобы убедиться, что он собирает метрики управления контрольной плоскостью, используя команду az aks update.
az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Метрики плоскости управления запросами
Метрики плоскости управления хранятся в рабочей области Azure Monitor в регионе кластера. Метрики можно запрашивать непосредственно в рабочей области или с помощью экземпляра Azure Managed Grafana, подключенного к рабочей области.
На портале Azure перейдите к ресурсу кластера AKS.
В меню слева выберите Монитор>Настройки монитора.
Перейдите в рабочую область Azure Monitor, связанную с кластером.
В рабочей области Azure Monitor в разделе Managed Prometheus запросите метрики с помощью обозревателя Prometheus.
Примечание.
AKS предоставляет шаблоны панелей мониторинга для просмотра и анализа данных телеметрии плоскости управления в режиме реального времени. При использовании Управляемой Grafana Azure для визуализации данных можно импортировать следующие панели мониторинга:
Настройка метрик плоскости управления
AKS включает предварительно настроенный набор метрик для сбора и хранения для каждого компонента. Метрики для сервера API и т. д. собираются по умолчанию. Список метрик, собранных, можно настроить, изменив ama-metrics-settings-configmap.yaml файл конфигурации.
Целевые объекты по умолчанию включают следующие значения:
controlplane-apiserver = true
controlplane-cluster-autoscaler = false
controlplace-node-auto-provisioning = false
controlplane-kube-scheduler = false
controlplane-kube-controller-manager = false
controlplane-etcd = true
Все configmap файлы должны применяться к пространству имен kube-system для любого кластера.
Настройка профиля приема
Вы можете настроить файл импорта для собранных метрик. Дополнительную информацию см. в "Минимальном профиле приёма для метрик плоскости управления в управляемой службе для Prometheus".
Прием только минимальных метрик из целевых объектов по умолчанию
-
default-targets-metrics-keep-list.minimalIngestionProfileЗадайте значениеtrue, поэтому он получает только минимальный набор метрик для каждого из целевых объектов по умолчанию:controlplane-apiserverиcontrolplane-etcd.
Прием всех метрик из всех целевых объектов
Скачайте файл
ama-metrics-settings-configmap.yamlconfigmap.Переименуйте файл configmap
configmap-controlplane.yaml.Задайте для параметра
minimalingestionprofileзначениеfalse.В разделе
default-scrape-settings-enabledубедитесь, что целевые объекты, для которых требуется слом, заданыtrue.Целевые объекты, которые можно задать, являются следующими:
controlplane-apiservercontrolplane-cluster-autoscalercontrolplace-node-auto-provisioningcontrolplane-kube-schedulercontrolplane-kube-controller-managercontrolplane-etcd
Примените файл configmap с помощью команды
kubectl apply.kubectl apply -f configmap-controlplane.yaml
После применения конфигурации требуется несколько минут, чтобы метрики из указанных целевых объектов, собираемые из плоскости управления, появились в рабочей области Azure Monitor.
Сбор больше, чем минимальный объем метрик
Использование параметра minimalingestionprofile помогает уменьшить объем получаемых метрик. Если задано значение true, собираются только правила записи по умолчанию, оповещения по умолчанию и метрики, отображаемые на панелях мониторинга по умолчанию.
Скачайте файл
ama-metrics-settings-configmap.yamlconfigmap.Переименуйте файл configmap
configmap-controlplane.yaml.Задайте для параметра
minimalingestionprofileзначениеtrue.В разделе
default-scrape-settings-enabledубедитесь, что целевые объекты, для которых требуется слом, заданыtrue.Целевые объекты, которые можно задать, являются следующими:
controlplane-apiservercontrolplane-cluster-autoscalercontrolplane-node-auto-provisioningcontrolplane-kube-schedulercontrolplane-kube-controller-managercontrolplane-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.
Сбор конкретных метрик из конкретных целей
Скачайте файл
ama-metrics-settings-configmap.yamlconfigmap.Переименуйте файл configmap
configmap-controlplane.yaml.Задайте для параметра
minimalingestionprofileзначениеfalse.В разделе
default-scrape-settings-enabledубедитесь, что целевые объекты, которые вы хотите сканировать, установлены вtrue.Целевые объекты, которые можно задать, являются следующими:
controlplane-apiservercontrolplane-cluster-autoscalercontrolplane-node-auto-provisioningcontrolplane-kube-schedulercontrolplane-kube-controller-managercontrolplane-etcd
В разделе
default-targets-metrics-keep-listукажите список метрик дляtrueцелевых объектов.Например:
controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds|apiserver_longrunning_requests"Примените файл configmap:
kubectl apply -f configmap-controlplane.yaml
После применения конфигурации требуется несколько минут, чтобы метрики из указанных целевых объектов, собираемые из плоскости управления, появились в рабочей области Azure Monitor.
Устранение неполадок с метриками уровня управления
Убедитесь, что AzureMonitorMetricsControlPlanePreview флаг функции включен и ama-metrics поды запущены.
Примечание.
Методы устранения неполадок управляемой службы для Prometheus не применяются непосредственно в этом сценарии. Компоненты, которые считывают контрольный уровень, не включены в управляемую службу надстройки Prometheus.
Форматирование файла конфигурации. Убедитесь, что в файле конфигурации используется правильное форматирование. Убедитесь, что поля
default-targets-metrics-keep-listminimal-ingestion-profileиdefault-scrape-settings-enabledдругие поля правильно заполнены их предполагаемыми значениями.Изолируйте плоскость управления от плоскости данных: начните с установки некоторых метрик
true, связанных с узлом, и убедитесь, что метрики перенаправляются в рабочую область. Выполнение этих действий помогает определить, связана ли проблема с метриками уровня управления.Изменение количества поступивших событий: после применения изменений вы можете открыть обозреватель метрик на портале Azure. Перейдите в область обзора Azure Monitor для кластера или перейдите в раздел "Мониторинг " выбранного кластера. Проверьте, увеличилось или уменьшилось количество принимаемых событий в минуту. Эти сведения помогут определить, отсутствует ли определенная метрика или отсутствуют ли все метрики.
Определенная метрика не предоставляется. В некоторых сценариях метрика задокументирована, но она не предоставляется из целевого объекта и не пересылается в рабочую область Azure Monitor. В этом случае необходимо убедиться, что другие метрики пересылаются в рабочую область.
Примечание.
Если вы хотите собрать метрику
apiserver_request_duration_secondsили другую метрику корзин, необходимо определить всю серию в рамках семейства гистограмм:controlplane-apiserver = "apiserver_request_duration_seconds_bucket|apiserver_request_duration_seconds_sum|apiserver_request_duration_seconds_count"Нет доступа к рабочей области Azure Monitor. При включении надстройки можно указать существующую рабочую область, к которым вы не можете получить доступ. В этом сценарии метрики не собираются и пересылаются. Создайте рабочую область для сбора метрик при включении надстройки или при создании кластера.
Отключение метрик плоскости управления в кластере AKS
Метрики контрольной плоскости можно отключить в любое время, отключив управляемую службу для дополнения Prometheus и отменив регистрацию флага функции AzureMonitorMetricsControlPlanePreview.
Удалите надстройку метрик, которая удаляет метрики Prometheus с помощью
az aks updateкоманды:az aks update --disable-azure-monitor-metrics --name $CLUSTER_NAME --resource-group $RESOURCE_GROUPЧтобы отключить сбор метрик плоскости управления в кластере AKS, отмените регистрацию флага функции с помощью команды
AzureMonitorMetricsControlPlanePreview:az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Часто задаваемые вопросы
Можно ли собирать метрики контрольной плоскости, используя самостоятельно размещённый Prometheus?
Нет. В настоящее время вы не можете собирать данные метрик контрольной плоскости с помощью самостоятельно размещенного Prometheus. Самостоятельно управляемый Prometheus может собирать данные только с одного экземпляра, в зависимости от балансировщика нагрузки, поэтому метрики не являются надежными. Часто несколько реплик метрик контрольной плоскости видны только через управляемую службу Prometheus.
Почему агент пользователя недоступен в метриках плоскости управления?
В AKS метрики плоскости управления не имеют агента пользователя. Агент пользователя доступен только через журналы плоскости управления, к которым вы обращаетесь в параметрах диагностики.