Share via


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.

Wichtig

AKS Network Observability befindet sich derzeit in der VORSCHAU. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

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.

Installieren der Azure CLI-Erweiterung aks-preview

Wichtig

AKS-Previewfunktionen stehen gemäß dem Self-Service- und Aktivierungsprinzip zur Verfügung. Vorschauversionen werden „wie besehen“ und „wie verfügbar“ bereitgestellt und sind von den Vereinbarungen zum Service Level und der eingeschränkten Garantie ausgeschlossen. AKS-Vorschauversionen werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:

# Install the aks-preview extension
az extension add --name aks-preview

# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview

Registrieren des NetworkObservabilityPreview-Featureflags

az feature register --namespace "Microsoft.ContainerService" --name "NetworkObservabilityPreview"

Verwenden Sie az feature show, um den Registrierungsstatus des Featureflags zu überprüfen:

az feature show --namespace "Microsoft.ContainerService" --name "NetworkObservabilityPreview"

Warten Sie, bis die Funktion registriert ist, bevor sie entsprechend dem Artikel fortfahren.

{
  "id": "/subscriptions/23250d6d-28f0-41dd-9776-61fc80805b6e/providers/Microsoft.Features/providers/Microsoft.ContainerService/features/NetworkObservabilityPreview",
  "name": "Microsoft.ContainerService/NetworkObservabilityPreview",
  "properties": {
    "state": "Registering"
  },
  "type": "Microsoft.Features/providers/features"
}

Wenn das Feature registriert ist, aktualisieren Sie die Registrierung des Microsoft.ContainerService-Ressourcenanbieters mit az provider register:

az provider register -n Microsoft.ContainerService

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

Hinweis

Für Kubernetes, Version 1.29 oder höher, ist die Netzwerkbeobachtbarkeit mit dem AMA-Metrikprofil und dem AFEC-Flag (NetworkObservabilityPreview) aktiviert, bis sie die allgemeine Verfügbarkeit erreicht.

Ab Kubernetes Version 1.29 ist das Tag --enable-network-observability beim Erstellen oder Aktualisieren eines Azure Kubernetes Service (AKS)-Clusters nicht mehr erforderlich.

Für AKS-Cluster mit Kubernetes, Version 1.28 oder früher, erfordert die Aktivierung der Netzwerkbeobachtbarkeit das Tag "-enable-network-observability" während der Clustererstellung oder -aktualisierung.

Erstellen eines ACS-Clusters

Erstellen Sie mit az aks create einen AKS-Cluster. Das folgende Beispiel erstellt einen AKS-Cluster namens myAKSCluster in der Ressourcengruppe namens myResourceGroup:

Nicht-Cilium-Cluster unterstützen die Aktivierung von Network Observability in einem vorhandenen Cluster oder während der Erstellung eines neuen Clusters.

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

Neuer Cluster

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 \
    --enable-network-observability

Vorhandener Cluster

Verwenden Sie az aks update, um Network Observability für einen vorhandenen Cluster zu aktivieren.

az aks update \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --enable-network-observability 

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

Aktivieren der Visualisierung auf 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. Wählen Sie Dashboards im linken Navigationsmenü, öffnen Sie das Dashboard Kubernetes / Netzwerk im Ordner Verwalteter Prometheus.

  3. Überprüfen Sie, ob die Metriken im Kubernetes/Networking Grafana-Dashboard 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 installieren und aktivieren.