Einrichten von Network Observability für Azure Kubernetes Service (AKS) – BYO 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 BYO Prometheus und Grafana verwenden, um die ausgelesenen Metriken zu visualisieren.

Hinweis

Ab Kubernetes, Version 1.29, unterstützt das Feature für die Netzwerk Einblick-Funktion nicht mehr Bring Your Own (BYO) Prometheus und Grafana. Sie können es jedoch weiterhin mit dem Azure Managed Prometheus- und Grafana-Angebot aktivieren

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

Erstellen eines ACS-Clusters

Erstellen Sie mithilfe des Befehls 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.

Neuer Cluster

Verwenden Sie az aks create im folgenden Beispiel, um einen AKS-Cluster mit Network Observability und Nicht-Cilium 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 \
    --enable-network-observability

Vorhandener Cluster

Verwenden Sie az aks update, um die Netzwerkbeobachtung in einem vorhandenen Cluster zu aktivieren.

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

Abrufen von Clusteranmeldeinformationen

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

Aktivieren der Visualisierung auf Grafana

Verwenden Sie das folgende Beispiel, um Ausleseaufträge auf Prometheus zu konfigurieren und die Visualisierung auf Grafana für Ihren AKS-Cluster zu aktivieren.

Hinweis

Im folgenden Abschnitt sind Installationen von Prometheus und Grafana erforderlich.

  1. Fügen Sie Ihrer vorhandenen Prometheus-Konfiguration den folgenden Ausleseauftrag hinzu, und starten Sie Ihren Prometheus-Server neu:

    scrape_configs:
      - job_name: "network-obs-pods"
        kubernetes_sd_configs:
          - role: pod
        relabel_configs:
          - source_labels: [__meta_kubernetes_pod_container_name]
            action: keep
            regex: kappie(.*)
          - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
            separator: ":"
            regex: ([^:]+)(?::\d+)?
            target_label: __address__
            replacement: ${1}:${2}
            action: replace
          - source_labels: [__meta_kubernetes_pod_node_name]
            action: replace
            target_label: instance
        metric_relabel_configs:
          - source_labels: [__name__]
            action: keep
            regex: (.*)
    
  2. Vergewissern Sie sich unter Ziele von Prometheus, dass die network-obs-pods vorhanden sind.

  3. Melden Sie sich bei Grafana an, und importieren Sie das Network Observability-Dashboard mit der ID 18814.

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.