Fehlerbehebung für Apps in IBM Cloud Kubernetes Service

Virtuelle private Cloud Klassische Infrastruktur Satellite

Die folgenden Schritte helfen Ihnen bei der Behebung von Anwendungsproblemen in Ihrem Cluster und bei der Suche nach den Ursachen für Anwendungsfehler oder -probleme.

Status von IBM Cloud überprüfen

  1. Ob IBM Cloud verfügbar ist, können Sie auf der Statusseite IBM Cloud überprüfen.
  2. Filter für die Kubernetes Service komponente.
  3. Überprüfen Sie die Dokumentation zu Einschränkungen und bekannten Problemen.
  4. Für Fragen im Zusammenhang mit Open-Source-Projekten, die von IBM Cloud genutzt werden, siehe IBM Open Source and Third Party policy. Sie könnten zum Beispiel die Kubernetes offenen Fragen überprüfen.

Rufen Sie Ihren Clusterstatus ab und prüfen Sie die allgemeinen Probleme.

  1. Listen Sie Ihren Cluster auf und suchen Sie nach State des Clusters.

    ibmcloud ks cluster ls
    
  2. Überprüfen Sie den State Ihres Clusters. Wenn sich Ihr Cluster im Status Kritisch, Löschen fehlgeschlagen oder Warnung befindet oder lange Zeit im Status Anstehend blockiert ist. Weitere Informationen finden Sie unter Clusterstatus.

  3. Überprüfen Sie den Status der einzelnen Workerknoten. Weitere Informationen finden Sie unter Status des Workerknotens.

    ibmcloud ks worker ls -c CLUSTER
    
  4. Prüfen Sie die folgenden Informationen, um Probleme mit Worker Nodes zu beheben oder zu beseitigen.

Details zusammenstellen und das Problem dokumentieren

Wenn Sie Details zu dem Problem dokumentieren, seien Sie so genau wie möglich. Beispielsweise ist Our app occasionally gets 502 Gateway errors when trying to retrieve transaction logs nicht hilfreich, da es nicht spezifisch ist. Stellen Sie sicher, dass Sie das Problem so weit wie möglich eingrenzen, bevor Sie es dokumentieren. Versuchen Sie bei der Dokumentation des Problems Folgendes einzuschließen.

Umgebungsarchitektur
Vergewissern Sie sich, dass Sie Ihre Umgebungsarchitektur dokumentiert haben, damit Sie die beteiligten Komponenten verstehen. Weitere Informationen finden Sie unter Umgebungsarchitektur dokumentieren.
Fehlernachrichten und Komponentendetails.
Geben Sie die vollständige Fehlernachricht an und geben Sie Details dazu an, welche Komponente den Fehler erzeugt. Zum Beispiel: "Alle drei App-Pods in clusterID ABCDEF scheitern gelegentlich bei HTTPS Aufrufen von GET /transaction-logs vom globalen Load Balancer mit dem Fehler HTTP 502 Gateway Error: Web server received an invalid response while acting as a gateway or proxy server...".
Quellen-IP, Ziel-IP, Port und Protokoll der Verbindung.
Beispiel: " Alle drei App-Pods im Kubernetes-Cluster mit clusterID ABCDEF. Gelegentlich schlagen HTTPS-Aufrufe fehl, wenn sie versuchen, GET /transaction-logs an die GLB mit der Fehlermeldung The source pod IP is 172.22.5.10 and the destination IP is 150.40.40.35 port 433. Das Protokoll lautet HTTPS. Andere Pods verwenden diese IP-Adresse ebenso wie die beiden anderen GLB-IPs 150.40.40.55 und 150.40.40.75".
Startdatum, Uhrzeit und Häufigkeit des Problems.
Sehen Sie sich die folgenden Nachrichtenbeispiele an.
  • Dieses Problem betrifft ungefähr 2% aller Verbindungsversuche.
  • Dieses Problem tritt nur zwischen 19:00 und 21:00 UTC auf und betrifft in diesen Zeiten ungefähr 5% aller Verbindungsversuche.
  • Dieses Problem tritt beim Herstellen einer Verbindung von Pod-ID XYZ auf. Das Problem begann am 10/25/2023 um ungefähr 05:30 UTC.
Fehlerbehebungsaktionen, die Sie bereits ausgeführt haben
Dokumentieren Sie, was bisher versucht wurde, und die Ergebnisse dieser Versuche, das Problem weiter einzugrenzen.

Tests ausführen, um die einzelnen Komponenten zu regeln oder auszuschließen

  1. Versuchen Sie, das Problem außerhalb des vollständigen App-Ablaufs zu reproduzieren. Dies kann Folgendes beinhalten.
    • Verwendung von curl entweder auf einem separaten System oder in einem Test-Pod in einem Cluster, um eine Verbindung zum Back-End-Endpunkt oder -Service herzustellen, um zu regeln, dass der Client möglicherweise die Ursache des Problems ist.
    • Es wird versucht, über den Client oder einen Testpod im Cluster eine Verbindung zu einem bekannten Endpunkt wie www.ibm.com herzustellen. Wenn der bekannte Endpunkt konsistent funktioniert, der reale App-Endpunkt jedoch nicht, hilft dies, das Problem einzugrenzen.
  2. Versuchen Sie, das Problem in einer Testumgebung mit einem Testcluster zu reproduzieren.
    • Wenn Sie das Problem in einem Testcluster nicht reproduzieren können, können Sie sich auf die Unterschiede zwischen dem Testcluster und dem realen Cluster als mögliche Fehlerquellen konzentrieren.
    • Wenn Sie ihn in einem Testcluster erneut erstellen können, liegt wahrscheinlich kein Problem mit dem Cluster selbst vor. Außerdem verfügen Sie über eine Umgebung, in der Sie Tests durchführen können, um das Problem weiter einzugrenzen, ohne dass sich dies auf Ihre Produktionsumgebung auswirkt.

Weitere Daten zusammenstellen

Sobald Sie den App-Ablauf, den Fehler, den Sie sehen, und die Quelle dieses Fehlers kennen, können Sie detailliertere Daten aus den beteiligten Komponenten zusammenstellen. Dazu können die folgenden Protokolle gehören:

  • Pod-und Prozessprotokolle auf den betroffenen Komponenten
  • Clusterknotenprotokolle wie syslog oder /var/log/messages. Für IBM Cloud Kubernetes Service können Sie und andere Protokolle direkt syslog von den Knoten abrufen.
  • Pakettraceinformationen. Die Ausführung von tcpdump ist eine gängige Methode, um Paketverfolgungsinformationen zu erhalten.

Kontaktieren Sie in Slack oder überprüfen Sie Benutzerforen auf ähnliche Probleme

  1. Posten Sie Ihre Nachricht im Kubernetes Service-Slack.
    • Wenn Sie ein externer Benutzer sind, veröffentlichen Sie Beiträge im Kanal #general.
  2. Informieren Sie sich in Foren wie beispielsweise der Kubernetes Service-Hilfe oder Stack Overflow, um herauszufinden, ob andere Benutzer auf dasselbe Problem gestoßen sind. Wenn Sie zum Stellen einer Frage die Foren nutzen, versehen Sie Ihre Frage mit entsprechenden Tags, damit die IBM Cloud-Entwicklerteams Ihre Frage auf Anhieb erkennen können.
    • Wenn Sie technische Fragen zur Entwicklung oder Bereitstellung von Clustern oder Anwendungen mit IBM Cloud Kubernetes Service haben, stellen Sie Ihre Frage auf Stack Overflow und markieren Sie Ihre Frage mit ibm-cloud und containers.
    • Weitere Informationen zur Verwendung der Foren finden Sie im Abschnitt Hilfe aufrufen.

Nächste Schritte

Wenn das Problem weiterhin auftritt, wenden Sie sich bitte an den Support. Öffnen Sie einen Supportfall. Stellen Sie in den Falldetails sicher, dass alle relevanten Protokolldateien, Fehlernachrichten oder Befehlsausgaben enthalten sind.