Einrichten von Network Observability für Azure Kubernetes Service (AKS) – von Azure verwaltetes Prometheus und Grafana

AKS Network Observability wird verwendet, um die Netzwerkdaten des AKS-Clusters zu sammeln. Network Observability ermöglicht eine zentrale Plattform für die Überwachung der Anwendungs- und Netzwerkintegrität. Prometheus sammelt AKS Network Observability-Metriken und visualisiert sie. Sowohl die Cilium- als auch die Nicht-Cilium-Datenebene werden unterstützt. In diesem Artikel erfahren Sie, wie Sie das Network Observability-Add-On aktivieren und von Azure verwaltetes Prometheus und Grafana verwenden, um die ausgelesenen Metriken zu visualisieren.

Weitere Informationen zur AKS Network Observability finden Sie unter Was ist Azure Kubernetes Service (AKS) Network Observability?.

Voraussetzungen

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

  • Für die Schritte in diesem Artikel ist die Azure CLI mindestens in Version 2.44.0 erforderlich. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.

Cluster erstellen

Hinweis

Für Kubernetes-Version >= 1.29 ist Netzwerkeinblick in Cluster mit Azure Managed Prometheus enthalten. Das metrische Scraping wird über das AMA-Metrikprofil definiert.

Für niedrigere Kubernetes-Versionen sind zusätzliche Schritte erforderlich, um Netzwerkeinblick zu aktivieren.

Erstellen einer Ressourcengruppe

Eine Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden. Erstellen Sie mithilfe des Befehls az group create eine Ressourcengruppe. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus erstellt:

az group create \
    --name myResourceGroup \
    --location eastus

Erstellen eines ACS-Clusters

Erstellen Sie mit az aks create einen AKS-Cluster. Die folgenden Beispiele erstellen je einen AKS-Cluster namens myAKSCluster in der Ressourcengruppe namens myResourceGroup:

Beispiel 1: Nicht-Cilium

Verwenden Sie az aks create im folgenden Beispiel, um einen Nicht-Cilium-AKS-Cluster zu erstellen.

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

Beispiel 2: Cilium

Verwenden Sie az aks create im folgenden Beispiel, um einen Cilium-AKS-Cluster zu erstellen.

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

Von Azure verwaltetes Prometheus und Grafana

Verwenden Sie das folgende Beispiel, um Prometheus und Grafana für Ihren AKS-Cluster zu installieren und zu aktivieren.

Erstellen einer Azure Monitor-Ressource

az resource create \
    --resource-group myResourceGroup \
    --namespace microsoft.monitor \
    --resource-type accounts \
    --name myAzureMonitor \
    --location eastus \
    --properties '{}'

Erstellen einer Grafana-Instanz

Verwenden Sie az grafana create, um eine Grafana-Instanz zu erstellen. Der Name der Grafana-Instanz muss eindeutig sein. Ersetzen Sie myGrafana durch einen eindeutigen Namen für Ihre Grafana-Instanz.

az grafana create \
    --name myGrafana \
    --resource-group myResourceGroup 

Platzieren der Grafana- und Azure Monitor-Ressourcen-IDs in Variablen

Verwenden Sie az grafana show, um die Grafana-Ressourcen-ID in einer Variablen zu platzieren. Verwenden Sie az resource show, um die Azure Monitor-Ressourcen-ID in einer Variablen zu platzieren. Ersetzen Sie myGrafana durch den Namen Ihrer Grafana-Instanz.

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)

Verwenden Sie az aks update, um die Azure Monitor- und Grafana-Ressourcen mit Ihrem AKS-Cluster zu verknüpfen.

az aks update \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --enable-azure-monitor-metrics \
    --azure-monitor-workspace-resource-id $azuremonitorId \
    --grafana-resource-id $grafanaId

Abrufen von Clusteranmeldeinformationen

az aks get-credentials --name myAKSCluster --resource-group myResourceGroup

Visualisieren mithilfe von Grafana

Hinweis

Der folgende Abschnitt erfordert Bereitstellungen von von Azure verwaltetem Prometheus und Grafana.

  1. Verwenden Sie das folgende Beispiel, um zu überprüfen, ob die Azure Monitor-Pods ausgeführt werden.

    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. Navigieren Sie in einem Webbrowser zu Ihrer Grafana-Instanz.

  3. Wir haben ein Beispieldashboard erstellt. Sie finden es unter Dashboards > Azure Managed Prometheus > Kubernetes / Networking / Clusters.

  4. Überprüfen Sie, ob die Metriken im Grafana-Dashboard Kubernetes / Networking / Clusters sichtbar sind. Wenn Metriken nicht angezeigt werden, ändern Sie den Zeitraum in die letzten 15 Minuten im Dropdownfeld oben rechts.


Bereinigen von Ressourcen

Wenn Sie diese Anwendung nicht weiter verwenden möchten, löschen Sie den AKS-Cluster und die anderen in diesem Artikel erstellten Ressourcen mit dem folgenden Beispiel:

  az group delete \
    --name myResourceGroup

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie Sie AKS Network Observability für Ihren AKS-Cluster einrichten.