Problembehandlung für eine Anwendung mithilfe von AKS Desktop Insights (Vorschau)

AKS Desktop enthält eine integrierte Problembehandlungssuite namens Insights, unterstützt von Inspektor Gadget, ein open-source eBPF (erweitertes Berkeley Packet Filter)-basiertes Debuggingtool. Ohne Ihren Code zu ändern oder etwas neu zu starten, können Sie den Netzwerkdatenverkehr zwischen Pods, DNS-Fehlern nachverfolgen und laufende Prozesse erkunden, um unerwartete oder ressourcenintensive Aktivitäten zu erkennen, und zwar über eine intuitive Benutzeroberfläche mit wenigen Klicks.

Dieser Artikel führt Sie durch die Aktivierung von Insights und die Verwendung, um häufige Anwendungsprobleme in Ihrem AKS-Cluster zu diagnostizieren.

Important

AKS-Preview-Funktionen stehen auf Selbstbedienungs- und Opt-in-Basis zur Verfügung. Vorschauversionen werden „im Istzustand“ und „wie verfügbar“ bereitgestellt und sind von den Service Level Agreements 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:

Voraussetzungen

  • AKS-Desktop installiert und bei Ihrem AKS-Cluster angemeldet. Siehe Einrichten eines AKS-Clusters für AKS-Desktop oder Bereitstellen von Anwendungen mit AKS Automatic mithilfe von AKS-Desktop.
  • Cluster-Administrator oder gleichwertige Berechtigungen der rollenbasierten Zugriffssteuerung (RBAC) für den Ziel-AKS-Cluster. Das Installieren von Inspektor Gadget erfordert das Erstellen eines ClusterRole, ClusterRoleBinding und eines privilegierten DaemonSet.
  • Ihre Clusterknoten müssen Linux mit Kernelversion ≥ 5.4 ausführen. Windows-Knotenpools werden nicht unterstützt.
  • Wenn Ihr Cluster Azure Policy oder OPA Gatekeeper mit eingeschränkter Podsicherheit verwendet, fügen Sie eine Ausnahme für den gadget Namespace hinzu, um privilegierte Pods zuzulassen.
  • Der Zielcluster muss ein AKS Standardcluster sein.

Aktivieren von Insights in AKS-Desktop

  1. Starten Sie die AKS-Desktopanwendung, und stellen Sie sicher, dass Sie angemeldet und mit Ihrem AKS-Cluster verbunden sind.

  2. Wählen Sie im linken Navigationsbereich "Einstellungen" aus.

  3. Wählen Sie im Menü "Einstellungen" die Option "Plug-Ins" aus.

  4. Suchen Sie das Insights-Plug-In in der Liste, und wählen Sie den Umschalter "Aktivieren" aus.

    Screenshot der Aktivierung des Insights-Plug-Ins in AKS Desktop.

Access Insights für Ihr Projekt

Wählen Sie im linken Navigationsbereich das Projekt aus, mit dem Sie Insights verwenden möchten. Die Registerkarte "Insights " wird jetzt in der Projektansicht angezeigt.

Screenshot der Registerkarte

Inspektor Gadget auf dem Cluster bereitstellen

Auf der Registerkarte "Insights" werden Sie aufgefordert, Inspektor Gadget auf Ihrem Cluster bereitzustellen, falls es noch nicht installiert ist.

  1. Wählen Sie "Inspektor-Gadget bereitstellen" aus. AKS Desktop stellt das Inspektor Gadget DaemonSet im gadget Namespace Ihres Clusters bereit.
  2. Warten Sie, bis die Bereitstellung abgeschlossen ist. Ein Statusindikator bestätigt, wann Inspektor Gadget bereit ist.

Insights-Daten anzeigen

Sobald Inspektor Gadget bereitgestellt wurde, füllt die Registerkarte Insights sich mit Live-Überwachungsdaten von Ihrem Cluster. Siehe Was Sie mit Insights machen können für den vollständigen Funktionsumfang.

Screenshot des Übersichtsbildschirms

Was Sie mit Insights tun können

Leistungsproblembehandlung mit Prozessen

In der Ansicht "Prozesse" werden alle ausgeführten Prozesse auf den Pods Ihres Clusters in Echtzeit zusammen mit CPU, Arbeitsspeicher und E/A-Auslastung des Datenträgers angezeigt. Verwenden Sie es zu folgenden Zwecken:

  • Ermitteln Sie, welche Pods übermäßige CPU oder Arbeitsspeicher verbrauchen.
  • Ungewöhnliche Block-E/A-Aktivitäten erkennen, wie etwa ungewöhnlich häufige Lese- oder Schreibvorgänge auf Datenträgern, die auf eine falsch konfigurierte App, einen unkontrollierten Log Writer oder einen Speicherengpass hinweisen können.
  • Erkennen Sie unerwartete Prozesse, die nicht in einem Container ausgeführt werden sollen.

Screenshot der Ansicht „Insights-Prozesse” im AKS-Desktop mit Metriken für CPU, Arbeitsspeicher und E/A pro Pod

Netzwerksichtigkeit mit Tcp (Trace Transmission Control Protocol)

Trace TCP erfasst Live-Ereignisse von TCP-Verbindungen auf Kernel-Ebene mithilfe von eBPF, ohne Proxy oder Sidecar. Verwenden Sie es zu folgenden Zwecken:

  • Sehen Sie, welche Pods ausgehende Verbindungen öffnen und zu welchen Ziel-IPs und Ports.
  • Erkennen Sie unerwartete oder nicht autorisierte Verbindungen, die auf ein Falschkonfigurations- oder Sicherheitsproblem hinweisen können.
  • Korrelieren Sie Netzwerkanomalien mit bestimmten Pods oder Workloads.

Screenshot der Ansicht „Insights Trace TCP” im AKS Desktop mit Live-Pod-zu-Pod- und externen TCP-Verbindungen.

Note

Das Tracing muss bei Abschluss beendet werden. Dazu die rote Stoppschaltfläche oben rechts im Tracing auswählen.

Probleme mit DNS mithilfe von DNS-Tracing lösen

Die Trace-DNS erfasst jede DNS-Abfrage und -Antwort von Pods im eigenen Cluster. Verwenden Sie es zu folgenden Zwecken:

  • Identifizieren Sie DNS-Abfragen, die nicht aufgelöst werden können, eine häufige Ursache für Pod-to-Service-Konnektivitätsfehler.
  • Messen Sie die DNS-Latenz, um festzustellen, ob CoreDNS (der In-Cluster-DNS-Server) oder ein upstream-DNS-Resolver langsam ist.
  • Überprüfen Sie den Zustand von CoreDNS und ob die externe DNS-Auflösung korrekt funktioniert.

Screenshot der Insights Trace DNS-Ansicht in AKS-Desktop mit DNS-Abfragen, Antworten und Latenz pro Pod.

Note

Das Tracing muss bei Abschluss beendet werden. Dazu die rote Stoppschaltfläche oben rechts im Tracing auswählen.

Inspektor Gadget deinstallieren

Entfernen Sie Inspektor Gadget aus Ihrem Cluster, indem Sie den gadget Namespace löschen. Dadurch werden alle Insights-Daten und -Funktionen entfernt. Dies geschieht daher nur, wenn Sie keine der Insights-Features mehr benötigen.

kubectl delete ns gadget

Warning

Mit diesem Befehl werden alle Ressourcen im gadget Namespace entfernt, nicht nur diejenigen, die von Inspektor Gadget erstellt wurden.

Behandeln von Problemen mit Insights

In der folgenden Tabelle werden häufige Probleme beschrieben, die bei der Verwendung von Insights auftreten können, zusammen mit deren Lösungen:

Issue Resolution
Die Registerkarte "Insights" ist nicht sichtbar. Stellen Sie sicher, dass das Insights-Plug-In aktiviert ist. Wechseln Sie zu "Einstellungen-Plug-Ins>", und schalten Sie Insights ein.
Die Bereitstellung von Inspektor Gadget schlägt fehl. Stellen Sie sicher, dass Sie über ausreichende RBAC-Berechtigungen verfügen, um DaemonSets und ClusterRoles im Cluster zu erstellen.
Nach der Bereitstellung werden keine Daten angezeigt. Vergewissern Sie sich, dass die Clusterknoten einen unterstützten Linux-Kernel ausführen (≥ 5.4). Überprüfen Sie die Inspektor Gadget-Podprotokolle auf Fehler.