Поделиться через


Настройка наблюдения за сетями для Служба Azure Kubernetes (AKS) — Управляемый Prometheus и Grafana Azure

Наблюдение за сетями AKS используется для сбора данных сетевого трафика кластера AKS. Мониторинг сети обеспечивает централизованную платформу для мониторинга работоспособности приложений и сети. Prometheus собирает метрики наблюдаемости сети AKS, а Grafana визуализирует их. Поддерживаются плоскость данных Cilium и не Cilium. Из этой статьи вы узнаете, как включить надстройку "Наблюдение за сетями" и использовать управляемый Prometheus Azure и Grafana для визуализации срезированных метрик.

Дополнительные сведения о наблюдаемости сети AKS см. в статье "Что такое Служба Azure Kubernetes (AKS) сетевое наблюдение?.

Необходимые компоненты

  • Используйте среду 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)

Используйте 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.

  1. Используйте следующий пример, чтобы проверить выполнение модулей 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
    
  2. Перейдите к экземпляру Grafana в веб-браузере.

  3. Мы создали пример панели мониторинга. Его можно найти в разделе "Панели мониторинга > Azure Managed Prometheus > Kubernetes/Networking/ Clusters".

  4. Проверьте, отображаются ли метрики на панели мониторинга Kubernetes / Networking / Clusters Grafana. Если метрики не отображаются, измените диапазон времени на последние 15 минут в правом верхнем раскрывающемся списке.


Очистка ресурсов

Если вы не собираетесь продолжать использовать это приложение, удалите кластер AKS и другие ресурсы, созданные в этой статье, с помощью следующего примера:

  az group delete \
    --name myResourceGroup

Следующие шаги

Из этой статьи вы узнали, как настроить наблюдаемость сети AKS для кластера AKS.