Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы узнаете, как отслеживать плоскость управления Службы 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, используя команду
az extension add
илиaz extension update
.# 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
controlplane-kube-scheduler = false
controlplane-kube-controller-manager = false
controlplane-etcd = true
Все configmap файлы должны применяться к пространству имен kube-system
для любого кластера.
Настройка профиля приема
Вы можете настроить файл импорта для собранных метрик. Дополнительную информацию см. в "Минимальном профиле приёма для метрик плоскости управления в управляемой службе для Prometheus".
Прием только минимальных метрик из целевых объектов по умолчанию
-
true
Задайте значениеdefault-targets-metrics-keep-list.minimalIngestionProfile
, поэтому он получает только минимальный набор метрик для каждого из целевых объектов по умолчанию:controlplane-apiserver
иcontrolplane-etcd
.
Прием всех метрик из всех целевых объектов
Скачайте файл
ama-metrics-settings-configmap.yaml
configmap.Переименуйте файл 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
Примените файл configmap с помощью команды
kubectl apply
.kubectl apply -f configmap-controlplane.yaml
После применения конфигурации требуется несколько минут, чтобы метрики из указанных целевых объектов, собираемые из плоскости управления, появились в рабочей области Azure Monitor.
Сбор больше, чем минимальный объем метрик
Использование параметра minimalingestionprofile
помогает уменьшить объем получаемых метрик. Если задано значение true
, собираются только правила записи по умолчанию, оповещения по умолчанию и метрики, отображаемые на панелях мониторинга по умолчанию.
Скачайте файл
ama-metrics-settings-configmap.yaml
configmap.Переименуйте файл 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 через несколько минут.
Сбор конкретных метрик из конкретных целей
Скачайте файл
ama-metrics-settings-configmap.yaml
configmap.Переименуйте файл 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 -f configmap-controlplane.yaml
После применения конфигурации пройдет несколько минут, прежде чем метрики из указанных целевых объектов, которые собираются из плоскости управления, отобразятся в рабочем пространстве Azure Monitor.
Устранение неполадок с метриками уровня управления
Убедитесь, что AzureMonitorMetricsControlPlanePreview
флаг функции включен и ama-metrics
поды запущены.
Примечание.
Методы устранения неполадок управляемой службы для Prometheus не применяются непосредственно в этом сценарии. Компоненты, которые считывают контрольный уровень, не включены в управляемую службу надстройки Prometheus.
Форматирование файла конфигурации. Убедитесь, что в файле конфигурации используется правильное форматирование. Убедитесь, что поля
default-targets-metrics-keep-list
minimal-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, отмените регистрацию флага функции с помощью команды
az feature unregister
:az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Часто задаваемые вопросы
Можно ли собирать метрики контрольной плоскости, используя самостоятельно размещённый Prometheus?
Нет. В настоящее время вы не можете собирать данные метрик контрольной плоскости с помощью самостоятельно размещенного Prometheus. Самостоятельно управляемый Prometheus может собирать данные только с одного экземпляра, в зависимости от балансировщика нагрузки, поэтому метрики не являются надежными. Часто несколько реплик метрик контрольной плоскости видны только через управляемую службу Prometheus.
Почему агент пользователя недоступен в метриках плоскости управления?
В AKS метрики плоскости управления не имеют агента пользователя. Агент пользователя доступен только через журналы плоскости управления, к которым вы обращаетесь в параметрах диагностики.
Связанный контент
Azure Kubernetes Service