Настройка наблюдения за сетями для Служба Azure Kubernetes (AKS) — Управляемый Prometheus и Grafana Azure
Наблюдение за сетями AKS используется для сбора данных сетевого трафика кластера AKS. Мониторинг сети обеспечивает централизованную платформу для мониторинга работоспособности приложений и сети. Prometheus собирает метрики наблюдаемости сети AKS, а Grafana визуализирует их. Поддерживаются плоскость данных Cilium и не Cilium. Из этой статьи вы узнаете, как включить надстройку "Наблюдение за сетями" и использовать управляемый Prometheus Azure и Grafana для визуализации срезированных метрик.
Дополнительные сведения о наблюдаемости сети AKS см. в статье "Что такое Служба Azure Kubernetes (AKS) сетевое наблюдение?.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Минимальная версия Azure CLI, необходимая для действий, описанных в этой статье, — 2.44.0. Чтобы узнать версию, выполните команду
az --version
. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.
Создание кластера
Примечание.
Для версии >Kubernetes = 1.29, в кластерах с управляемым Prometheus включена возможность наблюдения за сетями. Очистка метрик определяется с помощью профиля метрик AMA.
Для более низких версий Kubernetes необходимо выполнить дополнительные действия, чтобы включить возможность наблюдения за сетями.
Создание или изменение группы ресурсов
Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure и управление ими. Создайте группу ресурсов с помощью команды az group create . В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus.
az group create \
--name myResourceGroup \
--location eastus
Создание кластера AKS
Создайте кластер AKS с помощью az aks create. В следующих примерах каждый из них создает кластер AKS с именем myAKSCluster в группе ресурсов myResourceGroup .
Пример 1. Non-Cilium
Используйте az aks create в следующем примере, чтобы создать кластер AKS, отличный от Cilium.
az aks create \
--name myAKSCluster \
--resource-group myResourceGroup \
--location eastus \
--generate-ssh-keys \
--network-plugin azure \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16 \
--kubernetes-version 1.29
Пример 2. Cilium
Используйте az aks create в следующем примере для создания кластера Cilium AKS.
az aks create \
--name myAKSCluster \
--resource-group myResourceGroup \
--generate-ssh-keys \
--location eastus \
--max-pods 250 \
--network-plugin azure \
--network-plugin-mode overlay \
--network-dataplane cilium \
--node-count 2 \
--pod-cidr 192.168.0.0/16
Управляемый Prometheus и Grafana Azure
Используйте следующий пример, чтобы установить и включить Prometheus и Grafana для кластера AKS.
Создание ресурса Azure Monitor
az resource create \
--resource-group myResourceGroup \
--namespace microsoft.monitor \
--resource-type accounts \
--name myAzureMonitor \
--location eastus \
--properties '{}'
Создание экземпляра Grafana
Используйте az grafana create для создания экземпляра Grafana. Имя экземпляра Grafana должно быть уникальным. Замените myGrafana уникальным именем для экземпляра Grafana.
az grafana create \
--name myGrafana \
--resource-group myResourceGroup
Поместите идентификаторы ресурсов Grafana и Azure Monitor в переменные
Используйте az grafana show , чтобы поместить идентификатор ресурса Grafana в переменную. Используйте az resource show , чтобы поместить идентификатор ресурса Azure Monitor в переменную. Замените myGrafana именем экземпляра Grafana.
grafanaId=$(az grafana show \
--name myGrafana \
--resource-group myResourceGroup \
--query id \
--output tsv)
azuremonitorId=$(az resource show \
--resource-group myResourceGroup \
--name myAzureMonitor \
--resource-type "Microsoft.Monitor/accounts" \
--query id \
--output tsv)
Связывание Azure Monitor и Grafana с кластером AKS
Используйте az aks update , чтобы связать ресурсы Azure Monitor и Grafana с кластером AKS.
az aks update \
--name myAKSCluster \
--resource-group myResourceGroup \
--enable-azure-monitor-metrics \
--azure-monitor-workspace-resource-id $azuremonitorId \
--grafana-resource-id $grafanaId
Получение учетных данных кластера
az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
Визуализация с помощью Grafana
Примечание.
В следующем разделе требуется развертывание управляемого Prometheus и Grafana в Azure.
Используйте следующий пример, чтобы проверить выполнение модулей pod Azure Monitor.
kubectl get po -owide -n kube-system | grep ama-
ama-metrics-5bc6c6d948-zkgc9 2/2 Running 0 (21h ago) 26h ama-metrics-ksm-556d86b5dc-2ndkv 1/1 Running 0 (26h ago) 26h ama-metrics-node-lbwcj 2/2 Running 0 (21h ago) 26h ama-metrics-node-rzkzn 2/2 Running 0 (21h ago) 26h ama-metrics-win-node-gqnkw 2/2 Running 0 (26h ago) 26h ama-metrics-win-node-tkrm8 2/2 Running 0 (26h ago) 26h
Перейдите к экземпляру Grafana в веб-браузере.
Мы создали пример панели мониторинга. Его можно найти в разделе "Панели мониторинга > Azure Managed Prometheus > Kubernetes/Networking/ Clusters".
Проверьте, отображаются ли метрики на панели мониторинга Kubernetes / Networking / Clusters Grafana. Если метрики не отображаются, измените диапазон времени на последние 15 минут в правом верхнем раскрывающемся списке.
Очистка ресурсов
Если вы не собираетесь продолжать использовать это приложение, удалите кластер AKS и другие ресурсы, созданные в этой статье, с помощью следующего примера:
az group delete \
--name myResourceGroup
Следующие шаги
Из этой статьи вы узнали, как настроить наблюдаемость сети AKS для кластера AKS.
Дополнительные сведения о наблюдаемости сети AKS см. в статье "Что такое Служба Azure Kubernetes (AKS) сетевое наблюдение?.
Если вы заинтересованы в более детализированном сетевом наблюдении и других дополнительных функциях, см. дополнительные сведения о расширенных сетевых службах контейнеров для Служба Azure Kubernetes (AKS)?.
Azure Kubernetes Service