Um sicherzustellen, dass einzelne Pods innerhalb eines Kubernetes-Clusters ordnungsgemäß funktionieren, ist eine Überwachung auf Pod-Ebene erforderlich. Dabei werden drei Arten von Metriken betrachtet: Kubernetes-Metriken, Container-Metriken und Anwendungsmetriken.
1. Kubernetes-Metriken
Die Überwachung der Kubernetes-Metriken stellt sicher, dass alle Pods in einer Kubernetes-Bereitstellung ausgeführt werden und fehlerfrei sind.
Anzahl der Pod-Instanzen: Wenn die aktuelle Anzahl der Instanzen eines Pods im Vergleich zu der erwarteten Anzahl gering ist, hat der Cluster möglicherweise keine Ressourcen mehr.
Status des Pods: Wenn Sie wissen, ob Pods ausgeführt werden und wie viele ausstehen, fehlgeschlagen sind oder abgebrochen wurden, erhalten Sie einen Einblick in deren Verfügbarkeit und Stabilität.
Pod-Neustarts: Die Überwachung der Anzahl der Pod-Neustarts gibt Aufschluss über die Stabilität der Anwendung innerhalb des Pod. Bei häufigen Neustarts kann ein zugrunde liegendes Problem wie Abstürze oder Ressourcenknappheit die Ursache sein.
CPU-Auslastung: Die Überwachung des CPU-Verbrauchs eines Pods hilft dabei, potenzielle Leistungsengpässe zu erkennen und sicherzustellen, dass die Pods über ausreichende Verarbeitungsressourcen verfügen.
Speicherverbrauch: Die Überwachung des Speicherverbrauchs eines Pods hilft bei der Erkennung von Speicherverlusten oder übermäßiger Speicherauslastung, die sich auf die Stabilität einer Anwendung auswirken könnten.
Netzwerknutzung: Die Überwachung der gesendeten/empfangenen Bytes eines Pods gibt Aufschluss über seine Kommunikationsmuster und hilft bei der Identifizierung von Netzwerkproblemen.
Zu den Kubernetes-Metriken gehören auch Zustandsprüfungen, Netzwerkdaten und der Fortschritt der Bereitstellung (d. h. die Anzahl der Instanzen, die von einer älteren Version auf eine neue umgestellt wurden).
2. Container-Metriken
Die Überwachung der Pod-Container-Metriken hilft Ihnen festzustellen, wie nah Sie an den von Ihnen konfigurierten Ressourcenlimits sind. Anhand dieser Metriken können Sie auch Pods erkennen, die in einem CrashLoopBackoff stecken.
CPU-Auslastung/Drosselung: Durch die Überwachung des CPU-Verbrauchs laufender Container können ressourcenintensive Container oder solche, die Engpässe verursachen, identifiziert werden, was sich auf die Gesamtleistung des Clusters auswirken könnte. Die Verfolgung von CPU-Drosselungsmetriken zeigt an, ob Container aufgrund von Ressourcenbeschränkungen oder Fehlkonfigurationen in ihrer CPU-Nutzung eingeschränkt sind.
Speicherauslastung: Die Überwachung des Speicherverbrauchs laufender Container lenkt die Aufmerksamkeit auf Probleme wie Speicherlecks, übermäßige Speicherauslastung oder unzureichende Speicherzuweisung, die sich auf die Stabilität der Container und die Gesamtleistung des Systems auswirken könnten.
Netzwerkverkehr/Fehler: Die Überwachung des Netzwerkverkehrs von Containern sowie von Fehlern wie Paketverlust oder Verbindungsfehlern hilft bei der Bewertung ihrer Kommunikationsmuster und einer übermäßigen Netzwerknutzung oder unerwarteten Verkehrsspitzen.
3. Anwendungsmetriken
Die Überwachung von Anwendungsmetriken hilft bei der Messung der Leistung und Verfügbarkeit von Anwendungen, die in Kubernetes-Pods ausgeführt werden. Diese Metriken werden in der Regel von der Kubernetes-Anwendung selbst entwickelt und beziehen sich auf die von ihr angesprochenen Business Rules, wie z. B. Latenz, Reaktionsfähigkeit, Fehlerraten und Antwortzeiten.