Kubernetes ist ein Begriff, der in zahlreichen Unternehmen nach wie vor gleichermaßen für große Erwartungen wie auch für Respekt sorgt.
Denn obwohl die ursprünglich von Google im Jahr 2014 entwickelte Open-Source-Plattform für die Automatisierung, Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen mehr Geschwindigkeit und Flexibilität beim Betrieb moderner IT-Infrastrukturen verspricht, fühlen sich viele IT-Teams im Geschäftsalltag und laufenden Betrieb von Kubernetes überfordert.
Woher kommt die Angst vor Kubernetes?
Mit Kubernetes werden Unternehmen mit einer Infrastruktur konfrontiert, die sich permanent verändert und die deshalb schwerer zu überblicken ist als klassische Server-Landschaften. Hinzu kommt ein weiteres Problem mit Blick auf die Transparenz: Eine Kubernetes-Plattform erzeugt große Mengen an Statusdaten, Metriken und Benachrichtigungen, deren Bedeutung nicht automatisch offensichtlich ist. Denn die entsprechenden Dashboards zeigen zwar oft technische Einzelwerte an, aber nicht deren Kontext und damit die betriebliche Relevanz.
Unklar sind zudem oftmals die Verantwortlichkeiten, denn Kubernetes vereint zahlreiche Einzeldisziplinen, die in vielen Unternehmen ihre eigenen Silos bilden. Insbesondere in Situationen, in denen schnelle Reaktionen und Koordination essenziell sind, also in Situationen, in denen es um Sicherheit oder Geschäftskontinuität geht, muss sofort und eindeutig klar sein, wer, wann, für was verantwortlich ist. Außerdem benötigen die Verantwortlichen das technische Know-how, um eine komplexe Kubernetes-Landschaft zu verwalten.
Wenn Kubernetes auf klassische IT-Landschaften trifft
Diese Komplexität erstreckt sich über die gesamte Infrastruktur: Bestehende On-Premise-Infrastrukturen müssen im Zusammenspiel mit Kubernetes-Clustern überwacht werden, damit Anwendungen, Systeme und Betriebsprozesse zuverlässig zusammenarbeiten und die Vorteile von Kubernetes tatsächlich genutzt werden können. Hardcodierte IP-Adressen sind in Kubernetes-Umgebungen beispielsweise problematisch, weil Pods, Services und Konfigurationen dynamisch bereitgestellt werden können. Fest im Code hinterlegte Passwörter oder Zugangsdaten sind ebenfalls kritisch, weil sie sich nur bedingt sicher verwalten lassen. In hybriden Umgebungen kommt hinzu, dass technische Abhängigkeiten, Sicherheitsanforderungen und Verantwortlichkeiten über mehrere Infrastrukturdomänen hinweg koordiniert werden müssen.
Unternehmen und deren IT-Teams stehen damit vor einer großen Herausforderung: Hybride Infrastruktur-Landschaften mit Kubernetes gelten in der Theorie als flexibler, skalierbarer und resilienter als rein klassische Infrastrukturmodelle, aber in der Praxis fehlt es an ausreichend Überblick und Kontrolle über die Plattform, um von den Effizienzgewinnen tatsächlich zu profitieren.
Kubernetes-Monitoring: Schwieriger als gedacht?
Die naheliegende Lösung für diese Herausforderung ist eine speziell auf Kubernetes angepasste Monitoring-Lösung. Die Komplexität von Kubernetes-Clustern und insbesondere hybriden Infrastrukturen, die Kubernetes- und On-Premise-Modelle sowie Cloud-Dienste, VMs, Bare Metal, Netzwerke und Datenbanken kombinieren, stellt jedoch auch beim Monitoring eine Herausforderung dar. Klassische Kubernetes-Monitoring-Tools liefern zwar viele und wertvolle Metriken, aber jedoch oftmals ohne den Kontext, der für ein umfassendes Verständnis des Zustands und der Leistung des Clusters notwendig ist. Werden mehrere Kubernetes-Cluster gleichzeitig betrieben, wie es in zahlreichen Unternehmen bereits der Fall ist, steigt die Komplexität des Monitorings noch einmal zusätzlich.
Der tatsächliche Mehrwert von Monitoring liegt jedoch nicht nur in der Erfassung der Daten, sondern in ihrer operativen Einordnung. Insbesondere, weil nicht jede Metrik für jedes Unternehmen gleich relevant ist. Angenommen, ein Kubernetes-Cluster verarbeitet plötzlich keine Anfragen mehr. Wenn bestimmte Metriken sprunghaft ansteigen, ist tiefes Fachwissen nötig, um zu bestimmen, welche Maßnahmen gegebenenfalls von welchem Team ergriffen werden müssen. An der Schnittstelle von Teams und Verantwortlichkeiten führt das dazu, dass Reaktionen auf potenziell schwerwiegende Probleme nicht oder zu spät erfolgen.
Kubernetes-Monitoring: Einfacher als gedacht
Kubernetes-Cluster stellen innerhalb eines Unternehmensnetzwerks selten eine Insel dar und sollten deshalb auch nicht wie eine solche überwacht werden. Im Kontext der Gesamtsysteminfrastruktur sollte eine passende Kubernetes-Monitoring-Lösung das Monitoring der Kubernetes-Ressourcen mit dem Monitoring der restlichen Infrastruktur, Systeme und betrieblichen Prozesse kombinieren und in einem gemeinsamen Kontext betrachten. Der nächste Schritt ist die Darstellung für alle Beteiligten, idealerweise grafisch innerhalb eines einzigen, zentralen Dashboards oder Web-Interface.
Da es sich nicht bei jeder, von einem Monitoring-Tool generierten Warnmeldung, tatsächlich um einen geschäftskritischen Vorfall handelt, sollte ein Unternehmen vor der Nutzung eines solchen Tools zudem definieren, welche Metriken tatsächlich entscheidend sind. Die Standard-Metriken, die üblicherweise in den meisten Situationen relevant sind, sind solche, die den Workload und die Systemauslastung beschreiben, beispielsweise CPU-Auslastung, Memory oder Storage. Ein entsprechendes Monitoring-Tool kann an dieser Stelle ebenfalls dabei unterstützen, die tatsächlich wichtigen Metriken zu identifizieren und auf die jeweilige Gesamtinfrastruktur angepasst Warnmeldungen zu definieren.
Und nicht zuletzt sollte ein Monitoring-Tool – im Idealfall mithilfe einfach zu lesender Statusindikatoren – anzeigen, ob eine Warnmeldung tatsächlich ein Eingreifen durch die Verantwortlichen erfordert, inklusive Kontextinformationen und einer detaillierten Erklärung, wo ein potenzielles Problem liegt und was der nächste Schritt sein sollte. Das Ziel dabei sollte stets sein, das allgemeine „Alarmrauschen“ so weit wie möglich zu reduzieren und im Falle eines potenziell sicherheitsrelevanten oder leistungseinschränkenden Vorfalls Ursache, Auswirkung und Zuständigkeiten schnell zu klären, sodass schnellere Reaktionen möglich werden.

(Bildquelle: Icinga)
Die Kür: Open-Source-basiertes Kubernetes-Monitoring
Da für viele Unternehmen die vollständige Übersicht und Kontrolle über ihre Daten nicht nur einen wichtigen strategischen Wettbewerbsfaktor darstellt, sondern auch vom Gesetzgeber und Regulierungsbehörden vorausgesetzt wird, ist Transparenz beim Kubernetes-Monitoring ebenfalls essenziell. Deshalb eignen sich für diese Aufgabe selbst gehostete und Open-Source-Lösungen besonders gut, insbesondere in komplexen, hybriden Infrastrukturen, sicherkritischen Umgebungen und stark regulierten Branchen.
Da es sich bei Kubernetes selbst um eine Open-Source-Plattform handelt, ist die Nutzung einer solchen für das Kubernetes-Monitoring zudem technisch sinnvoll: Schnittstellen, Metriken-APIs und Client-Bibliotheken sind innerhalb von Kubernetes bereits gut und offen zugänglich dokumentiert, weshalb eine Open-Source-Monitoring-Lösung direkt darauf aufsetzen und Cluster-Daten nativ verarbeiten kann, anstatt sie über zusätzliche, oft proprietäre Übersetzungsschichten einzubinden.
Unternehmen, die beim Monitoring ihrer Kubernetes-Cluster diese Punkte beachten, nehmen dem Betrieb von Kubernetes in hybriden Infrastruktur-Landschaften seinen „Schrecken“. Kubernetes verliert in solchen Situationen zwar nicht automatisch seine Komplexität, aber mit einem passenden Monitoring-Konzept wird die Komplexität beherrschbar, Unternehmen gewinnen an Vertrauen in ihre Prozesse und können die Vorteile von Kubernetes uneingeschränkt nutzen.