Skalieren Und Beschleunigen Ihrer Kubernetes-Reise Mit . - Splunk

Transcription

Skalieren und BeschleunigenIhrer Kubernetes-Reisemit Google Cloudund Splunk

Nur wenige Open Source-Technologien haben sich so weit – bzw. so schnell– verbreitet wie Kubernetes. In den letzten 5 Jahren hat sich Kubernetes voneinem internen Projekt bei Google praktisch zum weltweiten Standard für dieContainer-Orchestrierung entwickelt. Laut IDC werden bis 2022 70 % allerUnternehmen weltweit Kubernetes einsetzen.1Heute verwenden Unternehmen Kubernetes-Umgebungen in großem Maßstab.Dadurch entsteht ein Bedarf an Monitoring-Tools, die mit KubernetesUmgebungen umgehen können, um eine effektive Verwaltung, Fehlerbehebungund Datenanalyse zu gewährleisten.Wir sprachen mit Splunks Product Marketing Director of ITOps, Amit Sharma,und dem Google Cloud Customer Engineer, Cuyler Dingwell, über die Herausforderungen, mit denen sich DevOps-Teams konfrontiert sehen, wenn sie dieGrenzen der Skalierbarkeit bei Kubernetes ausreizen. Außerdem befassenwir uns mit der Entwicklung der Google Kubernetes Engine (GKE), die aufden Erfahrungen des Unternehmens als Entwickler von Kubernetes und mitgroß angelegten Kubernetes-Implementierungen basiert. Darüber hinauswidmen wir uns der neuen Version von Splunk Infrastructure Monitoring,die DevOps-Teams leistungsstarke neue Funktionen für das Monitoring undTroubleshooting umfangreicher Kubernetes-Umgebungen bietet.Laut IDC werden bis 202270 % aller Unternehmenweltweit im nächsten JahrKubernetes einsetzen.1 IDC FutureScape: Worldwide Cloud 2020 Predictions, Oktober 2019.Skalieren und Beschleunigen Ihrer Kubernetes-Reise mit Google Cloud und Splunk Splunk2

F:A:Kubernetes war ursprünglich ein Google-Projekt. Welchen Einflusshat dieses Erbe auf die Herangehensweise von Google Cloud inpuncto Skalierbarkeit bei Kubernetes, und wie steht es bei deraktuellen Kubernetes-Lösung um die Skalierbarkeit?Cuyler Dingwell: Als Customer Engineer bei Google habe ichdas Privileg, Kunden bei der Nutzung von Cloud-Technologienwie Kubernetes zu unterstützen, um massives Wachstum zubewältigen. Ich konnte aber auch schon einige Erfahrungenmachen, die ziemlich einzigartig für Google sind.Derzeit starten wir bei Google rund vier Milliarden Containerpro Woche. Das sind mehr als 6.600 Container pro Sekunde!Durch diese Fähigkeiten konnten wir sieben Produkte auf übereine Milliarde Benutzer skalieren, Google Workspace allein hatüber zwei Milliarden Benutzer. Und das schließt nicht mal dieeigentliche Google Cloud mit über einer Milliarde Benutzer mitein.Zur Bewältigung solcher Größenordnungen haben wir im Jahr2003 Borg entwickelt: Das war eine neue Art von ClusterManager, der ein Batch-orientiertes und ein Service-orientiertesSystem vereinte und ersetzte. 2014 stellte Google Borg dann alsOpen Source unter der Bezeichnung Kubernetes zur Verfügungund nutzte es dann auch als Google Kubernetes Engine (GKE)in der Google Cloud. Stand heute ist die GKE seit mehr als fünfJahren im Einsatz, und in dieser Zeit konnten wir beobachten,wie unsere Kunden auf GKE skaliert haben, um riesige Workloadszu bewältigen.Einer der Hauptschwerpunkte bei GKE besteht für uns darin,Kunden bei der Entwicklung sicherer, zuverlässiger undskalierbarer Anwendungen zu unterstützen, ohne dass sie daszugrunde liegende, unterstützende Kubernetes-System verwaltenmüssen. Aus diesem Grund enthält GKE Funktionen wie dieautomatisierte Reparatur von Kubernetes-Clustern, automatischeUpgrades und die automatisierte Skalierung. Darüber hinaushaben wir kürzlich die Beta-Version der GKE-Funktion für dasautomatisierte Provisioning eingeführt, das die Erstellung vonKubernetes-Knotenpools auf der Grundlage des Workload-Typseines Kunden automatisiert.Außerdem haben wir GKE um Funktionen erweitert, die unsereKunden bei der Skalierung ihrer Kubernetes-Umgebungenschützen. Wir bemühen uns immer, standardmäßig Security-BestPractices in GKE zu implementieren: Wir deaktivieren unnötigeServices und aktivieren standardmäßig die Verschlüsselung.Außerdem verwenden wir ein gehärtetes Host-Betriebssystem,Schwachstellen-Scans für die Containerregistrierung und dieBinärautorisierung, um sicherzustellen, dass der Code, der inIhrer Kubernetes-Umgebung läuft, bekannter Code ist. Zudemunterstützen wir private Kubernetes-Cluster. Doch wir habenauch neue Funktionen, wie z B. eine GKE-Sandbox zum Isolierenvon Workloads und eine Workload-Identitätsfunktion, die Podsaußerhalb des Kubernetes-Clusters authentifiziert.Skalieren und Beschleunigen Ihrer Kubernetes-Reise mit Google Cloud und Splunk Splunk3

F:A:Monitoring ist offensichtlich entscheidend, um Zustandund Performance von Kubernetes-Systemen beliebigerGrößenordnungen zu verstehen. Wo liegen die MonitoringHerausforderungen, wenn DevOps-Teams Kubernetes in großemMaßstab bereitstellen?Amit Sharma: Die Herausforderungen liegen ganz klar weiterhinbei den Aspekten Komplexität und Monitoring in Kubernetes,vor allem bei großen Umgebungen. Das Monitoring wird mitzunehmender Unternehmensgröße zur entscheidendenHerausforderung: Ein größeres Unternehmen benötigt größereDevOps-Teams und implementiert eine breitere Vielfalt anKubernetes-Anwendungslaufzeiten, Sprachen und anderenKomponenten in großem Maßstab.Probleme im Zusammenhang mit der Komplexität sind zudemein Faktor für Probleme mit der Performance und Zuverlässigkeitherkömmlicher Monitoring-Tools. Beim Skalieren einer KubernetesUmgebung können z. B. Metriken mit Dimensionen, die vieleverschiedene Werte haben (wie etwa Metriken mit Pod-Labels),Probleme bei Monitoring-Tools verursachen, denen solcheMetriken mit hoher Kardinalität Schwierigkeiten bereiten.Mit der zunehmenden Skalierung von Kubernetes-Umgebungenin Unternehmen können diese Probleme bei der MonitoringPerformance und -Komplexität schnell ausufern.Wir müssen auch bedenken, dass Kubernetes ein verteiltes Systemmit verschiedenen Komponenten auf der Steuerungsebene(Control Plane) und auch in den Arbeitsknoten ist. Wenn wir einenService oder Anwendungs-Pod bereitstellen, passieren vieleverschiedene Dinge gleichzeitig, und alle diese zugrunde liegendenKomponenten müssen ebenfalls geändert und neu bereitgestelltwerden. Mit der Skalierung der Kubernetes-Infrastruktur steigtauch die Änderungsrate (Churn) in der Umgebung.Skalieren und Beschleunigen Ihrer Kubernetes-Reise mit Google Cloud und Splunk Splunk4

F:A:Gibt es noch andere Bereiche, in denen herkömmlicheMonitoring-Tools in modernen Kubernetes-UmgebungenSchwierigkeiten haben?Amit Sharma: Es gibt verschiedene Bereiche, in denenherkömmliche Monitoring-Ansätze Schwächen zeigenkönnen. Erstens ist die Skalierbarkeit in Kubernetes einmehrdimensionaler Prozess, und herkömmliche MonitoringAnsätze berücksichtigen diese Mehrdimensionalität nicht,was zu ungenauen Warnmeldungen oder einer langsamenVisualisierung führt.Außerdem haben herkömmliche Monitoring-Tools oftmals beider Datenverwaltung und -analyse in Kubernetes-UmgebungenSchwierigkeiten. Kubernetes überwacht Datenströme ausmehreren Quellen und Logs, die alle voneinander isoliert sindund eventuell jeweils unterschiedliche Monitoring-Tools nutzen.SREs (Site Reliability Engineers) müssen ständig den Kontextwechseln, wenn sie beim Identifizieren und Beheben vonProblemen zwischen den Tools wechseln, und das lässt direktdie MTTR (Mean-Time-to-Resolution) ansteigen.Zudem machen es die großen Datenmengen, die aus so vielenQuellen und mit so hoher Geschwindigkeit eingehen, schlichtunmöglich, diese Daten manuell über mehrere Datenquellenhinweg zu korrelieren. Herkömmliche Tools nutzen immer nochkeine KI- und ML-Funktionen, um Performance-Anomalien zuidentifizieren, und das ist ein großes Problem.Skalieren und Beschleunigen Ihrer Kubernetes-Reise mit Google Cloud und Splunk Splunk5

F:A:Was müssten Monitoring-Tools können, um diese Herausforderungenzu bewältigen und bei Kubernetes-Systemen maßstabsgerechteffektiv zu funktionieren?Amit Sharma: Wir benötigen einen neuen Monitoring-Ansatz fürKubernetes und Kubernetes-basierte Anwendungen. Erstensmüssen wir den Zustand eines Kubernetes-Clusters und allerzugehörigen Ressourcen beurteilen können. Zweitens benötigenwir angesichts der vielen Komponenten, die zusammenmit Kubernetes-Anwendungen bereitgestellt oder erneutbereitgestellt werden, Einblick in die Abhängigkeiten zwischendiesen Komponenten und ihre Auswirkungen auf Zustand undPerformance der Kubernetes-Umgebung.Auch detailliertes Logging ist wichtig. Die Logs, die von denContainern, Kubernetes-Anwendungen, Metrik- und MonitoringPlattformen und anderen Quellen eingehen, sollten den Kontextenthalten, der für eine effektive Sichtung und Behebung vonFehlern erforderlich ist.Zudem muss Ihr Monitoring-System in der Lage sein, Datenströmemit großen Datenmengen und hohen Geschwindigkeiten inEchtzeit zu verarbeiten. Das bedeutet, es muss StreamingAnalysen und exakte Warnmeldungen bereitstellen, unabhängigdavon, wo die Warnmeldung oder die Leistungsanomalie ihrenUrsprung hat.Und last, but not least: Um alle diese Kriterien zu erfüllen, musseine Monitoring-Lösung für Kubernetes mit KI-gesteuerterAutomatisierung arbeiten, die Machine Learning, statistischeModellierung und KI kombiniert, um Probleme automatischaufzuzeigen.Skalieren und Beschleunigen Ihrer Kubernetes-Reise mit Google Cloud und Splunk Splunk6

F:A:Wie ist Splunk die Aufgabe angegangen, ein KubernetesMonitoring-Tool zu entwickeln, das all diese Herausforderungenbewältigt und zusätzlich die Skalierbarkeit unterstützt?Amit Sharma: Wir haben vor kurzem Kubernetes Navigator (KN)als Funktion innerhalb von Splunk Infrastructure Monitoringeingeführt. KN bietet DevOps- und SRE-Teams eine neue Art, diePerformance containerisierter Anwendungen zu verstehen undzu managen. KN ist wirklich nützlich für Teams, die ihren Wegzu Cloud-nativen Systemen gerade erst beginnen und dabeigleichzeitig die Monitoring-Herausforderungen für die weltweitkomplexesten Kubernetes-Systeme in großem Stil angehen.KN verwendet eine intuitive Benutzeroberfläche mithierarchischer Navigation, die es Teams ermöglicht, diePerformance ihrer gesamten Kubernetes-Umgebung zuverstehen. KN überwacht den gesamten Kubernetes-Stack undverwendet dynamische Cluster-Karten, um die Beziehungenzwischen dynamischen Komponenten aufzuzeigen unddurch Abhängigkeiten entstehende Probleme zu erkennen.Außerdem hilft KN DevOps-Teams dabei, sich mit einergranularen Sicht auf Komponentenebene auf die Ursache einesProblems zu konzentrieren, von Knoten zu Pods zu Containernund schließlich zu Workloads. Teams können nahtlos zwischenAnwendungs-, Kubernetes- und Container-Logs wechseln unddie Performance über den gesamten Stack korrelieren, ohneden Kontext zu verlieren oder ein anderes Tool verwenden zumüssen. KN setzt dann KI-gesteuerte Analysen ein, um Teamsdas „Warum“ von Performance-Anomalien aufzuzeigen, indem erihnen die Erkenntnisse und Empfehlungen liefert, mit denen siedie Kernursachen ermitteln können.Abschließend bleibt zu sagen, dass Splunk eine einheitlichePlattform ist, die eine Single-Source-of-Truth für die Bewertungder Kubernetes-Performance darstellt. Eine hochgradigskalierbare Streaming-Metrikarchitektur mit separatenDatenbanken mit für Menschen lesbaren Metadaten undZeitreihenmetriken ermöglicht eine direkt verfügbareTransparenz. Diagramme und Dashboards in Splunk werden jedeSekunde aktualisiert, und das Auslösen von Warnmeldungenund Automatisierungsprozessen erfolgt in Sekundenschnellenach einem Event. Bereits auf dem Markt erhältliche Lösungenbenötigen für ähnliche Aufgaben ganze 5 bis 10 Minuten.Skalieren und Beschleunigen Ihrer Kubernetes-Reise mit Google Cloud und Splunk Splunk7

Skalierbarkeit von Kubernetes:Eine immer wichtigere Herausforderungfür DevOps-TeamsDie Skalierbarkeit von Kubernetes wird zukünftigwahrscheinlich zu einem noch drängenderen Themafür DevOps-Teams werden, da Unternehmen einestetig wachsende Nachfrage nach digitalen Angebotenverzeichnen und Teams nach besseren Möglichkeitensuchen, um Innovationen zu entwickeln und schnellereinzigartige Kundenerlebnisse zu liefern. Dieser Trend wirddie Herausforderungen, die der großangelegte Einsatzvon Kubernetes mit sich bringt, zunehmend kostspieligund komplex machen und es Unternehmen erschweren,wettbewerbsfähig zu bleiben und eine einzigartige CustomerExperience zu bieten. Mit dieser Entwicklung wird derWert von Lösungen wie Google Cloud GKE und SplunkInfrastructure Monitoring für Teams steigen, die einenpraktischen und kalkulierbaren Weg suchen, um Kuberneteserfolgreich und maßstabsgerecht zu implementieren.Skalieren und Beschleunigen Ihrer Kubernetes-Reise mit Google Cloud und Splunk Splunk8

Erfahren Sie mehr.Verstehen und verwalten Sie die Performance vonKubernetes-Umgebungen – schneller als je zuvor –mit Splunk und Google Cloud.Erste SchritteSplunk, Splunk , Data-to-Everything, D2E und Turn Data Into Doing sind Marken und eingetragene Marken von Splunk Inc. in den Vereinigten Staaten und anderenLändern. Alle anderen Markennamen, Produktnamen oder Marken gehören den entsprechenden Inhabern. 2021 Splunk Inc. Alle Rechte vorbehalten.21-17885-Splunk-Scaling and Accelerating your Kubernetes Journey with GCloud and SPLK-EB-107 DE

Kubernetes-Knotenpools auf der Grundlage des Workload-Typs eines Kunden automatisiert. Außerdem haben wir GKE um Funktionen erweitert, die unsere Kunden bei der Skalierung ihrer Kubernetes-Umgebungen schützen. Wir bemühen uns immer, standardmäßig Security-Best Practices in GKE zu implementieren: Wir deaktivieren unnötige