Ein Jahr Chaos Mesh: Rückblick und Ausblick
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →

Seit der Erstveröffentlichung von Chaos Mesh auf GitHub ist nun ein Jahr vergangen. Aus einem einfachen Tool für Fehlerinjektion hat sich Chaos Mesh zu einer Plattform entwickelt, die eine umfassende Chaos-Engineering-Ökologie anstrebt. Parallel dazu wurde eine lebendige Community aufgebaut, die maßgeblich dazu beigetragen hat, dass Chaos Mesh als Sandbox-Projekt in die CNCF aufgenommen wurde.
In diesem Artikel blicken wir auf die Entwicklung von Chaos Mesh im letzten Jahr zurück und diskutieren die zukünftigen Ziele und Pläne.
Das Projekt: Wachstum mit klarer Zielsetzung
Dank der gemeinsamen Anstrengungen der Community hat Chaos Mesh im vergangenen Jahr eine beeindruckende Entwicklung durchlaufen. Von der ersten Version bis zum kürzlich veröffentlichten v1.1.0-Release wurden Funktionsumfang, Benutzerfreundlichkeit und Sicherheit erheblich verbessert.
Funktionsumfang
Bei der Erstveröffentlichung unterstützte Chaos Mesh nur drei Fehlertypen: PodChaos, NetworkChaos und IOChaos. Innerhalb eines Jahres kamen umfassende Fehlerinjektionen für Netzwerke, Systemuhren, JVM-Anwendungen, Dateisysteme, Betriebssysteme und mehr hinzu.

Durch kontinuierliche Optimierungen bietet Chaos Mesh nun einen flexiblen Scheduling-Mechanismus, der Nutzern die Planung eigener Chaos-Experimente erleichtert. Dies bildet die Grundlage für Chaos-Orchestrierung.
Wir freuen uns besonders, dass zahlreiche Nutzer begonnen haben, Chaos Mesh auf großen Cloud-Plattformen zu testen, darunter Amazon Web Services (AWS), Google Kubernetes Engine (GKE), Alibaba Cloud und Tencent Cloud. Durch kontinuierliche Kompatibilitätstests und Anpassungen arbeiten wir daran, plattformspezifische Fehlerinjektionen zu unterstützen.
Für bessere Unterstützung nativer Kubernetes-Komponenten und Knotenfehler entwickelten wir Chaosd, das Fehlerinjektion auf physischer Knotenebene ermöglicht. Diese Funktion wird aktuell intensiv getestet und verfeinert, um sie in den kommenden Monaten zu veröffentlichen.
Benutzerfreundlichkeit
Benutzerfreundlichkeit war von Anfang an ein Leitprinzip bei der Entwicklung von Chaos Mesh. Die Bereitstellung erfolgt mit einem einzigen CLI-Befehl. Das Release von V1.0 brachte das lang erwartete Chaos Dashboard – eine zentrale Weboberfläche zur Orchestrierung von Chaos-Experimenten. Hier können Sie den Umfang des Experiments definieren, Fehlertypen festlegen, Scheduling-Regeln konfigurieren und Ergebnisse analysieren – alles mit wenigen Klicks in einer einheitlichen Oberfläche.

Vor Version 1.0 berichteten viele Nutzer über Konfigurationsprobleme bei IOChaos-Fehlern. Nach intensiven Untersuchungen ersetzten wir die ursprüngliche Sidecar-Implementierung. Stattdessen nutzt Chaos Mesh nun chaos-daemon, um dynamisch in Ziel-Pods einzugreifen. Diese Optimierung vereinfacht die Logik erheblich, ermöglicht dynamische I/O-Fehlerinjektion und erlaubt Nutzern, sich ganz auf ihre Experimente zu konzentrieren.
Sicherheit
Wir haben die Sicherheit von Chaos Mesh verbessert. Es bietet nun einen umfassenden Satz an Selektoren, um den Umfang der Experimente zu steuern, und unterstützt das Festlegen spezifischer Namespaces zum Schutz wichtiger Anwendungen. Darüber hinaus ermöglicht die Unterstützung von Namespace-Berechtigungen, die "Explosionsradius" eines Chaos-Experiments auf einen bestimmten Namespace zu begrenzen.
Zusätzlich nutzt Chaos Mesh direkt den nativen Berechtigungsmechanismus von Kubernetes wieder und unterstützt die Verifizierung im Chaos Dashboard. Dies schützt Sie vor Fehlern anderer Benutzer, die dazu führen könnten, dass Chaos-Experimente fehlschlagen oder unkontrollierbar werden.
Cloud-native Ökosystem: Integrationen und Kooperationen
Im Juli 2020 wurde Chaos Mesh erfolgreich als CNCF Sandbox-Projekt aufgenommen. Dies zeigt, dass Chaos Mesh erste Anerkennung in der Cloud-native-Community erhalten hat. Gleichzeitig bedeutet es, dass Chaos Mesh eine klare Mission hat: die Anwendung von Chaos Engineering im Cloud-native-Bereich voranzutreiben und mit anderen Cloud-native-Projekten zusammenzuarbeiten, um gemeinsam zu wachsen.
Grafana
Um die Beobachtbarkeit von Chaos-Experimenten weiter zu verbessern, haben wir ein separates Grafana-Plugin für Chaos Mesh integriert. Dies ermöglicht Benutzern, Echtzeitinformationen zu Chaos-Experimenten direkt im Anwendungsmonitoring-Dashboard anzuzeigen. Auf diese Weise können Benutzer gleichzeitig den Betriebszustand der Anwendung und die aktuellen Chaos-Experiment-Informationen beobachten.
GitHub Action
Um Benutzern die Ausführung von Chaos-Experimenten bereits während der Entwicklungsphase zu ermöglichen, haben wir das chaos-mesh-action-Projekt entwickelt. Dadurch kann Chaos Mesh in GitHub Actions-Workflows integriert werden und lässt sich problemlos in die tägliche Systementwicklung und -tests einbinden.
TiPocket
TiPocket ist eine automatisierte Testplattform, die Chaos Mesh mit Argo kombiniert – einer Workflow-Engine für Kubernetes. TiPocket wurde als vollautomatisierter Chaos-Engineering-Testzyklus für TiDB, eine verteilte Datenbank, konzipiert. Bei der Durchführung von Chaos-Experimenten sind mehrere Schritte erforderlich, darunter die Bereitstellung von Anwendungen, das Ausführen von Workloads, das Einspielen von Fehlern und Geschäftsprüfungen. Um diese Schritte vollständig zu automatisieren, wurde Argo in TiPocket integriert. Chaos Mesh liefert umfangreiche Fehlerinjektionen, während Argo flexible Orchestrierung und Planung bietet.

Die Community: Vom Grundstein bis heute
Chaos Mesh ist ein community-getriebenes Projekt und kann ohne eine aktive, freundliche und offene Community nicht vorankommen. Seit der Open-Source-Veröffentlichung hat sich Chaos Mesh schnell zu einem der bemerkenswertesten Open-Source-Projekte im Bereich Chaos Engineering entwickelt. Innerhalb eines Jahres hat es über 3.000 Sterne auf GitHub gesammelt und zählt mehr als 70 Mitwirkende. Zu den Nutzern gehören Tencent Cloud, XPeng Motors, Dailymotion, NetEase Fuxi Lab, JuiceFS, APISIX und Meituan. Rückblickend auf das vergangene Jahr wurde die Chaos-Mesh-Community vom Grundstein aufgebaut und hat die Basis für eine transparente, offene, freundliche und autonome Open-Source-Community gelegt.
Teil der CNCF-Familie werden
Cloud-native steckt seit den Anfängen in der DNA von Chaos Mesh. Der Beitritt zur CNCF war eine natürliche Wahl und markiert einen entscheidenden Schritt für Chaos Mesh, um eine herstellerneutrale, offene und transparente Open-Source-Community zu werden. Neben der Integration in das Cloud-native-Ökosystem bietet die CNCF-Mitgliedschaft Chaos Mesh:
-
Mehr Sichtbarkeit für Community und Projekt. Kooperationen mit anderen Projekten und verschiedene Cloud-native-Community-Aktivitäten wie Kubernetes Meetup und KubeCon boten uns großartige Gelegenheiten zum Austausch mit der Community. Wir sind beeindruckt, wie die hochwertigen Inhalte der Community auch eine positive und weitreichende Rolle bei der Förderung von Chaos Mesh gespielt haben.
-
Ein vollständigeres und offeneres Community-Framework. Die CNCF bietet einen ausgereiften Rahmen für den Betrieb von Open-Source-Communities. Unter Anleitung der CNCF haben wir unser grundlegendes Community-Framework etabliert, einschließlich eines Verhaltenskodex, eines Beitragsleitfadens und eines Roadmap. Wir haben auch unseren eigenen Kanal #project-chaos-mesh im CNCF Slack eingerichtet.
Eine freundliche und unterstützende Community
2022-10-24: Aufgrund von https://www.oreilly.com/online-learning/leveraging-katacoda-technology.html und Bezugnahme auf #356 ist das interaktive Tutorial vorübergehend nicht verfügbar.
Die Qualität der Open-Source-Community entscheidet darüber, ob Nutzer und Mitwirkende langfristig dabei bleiben. Daher arbeiten wir intensiv an:
-
Kontinuierlicher Erweiterung der Dokumentation und Optimierung ihrer Struktur. Wir haben umfassende Anleitungen für verschiedene Zielgruppen entwickelt, darunter Benutzerhandbücher, Entwicklerleitfäden, Schnellstart-Anleitungen, Anwendungsfälle und Mitwirkungsrichtlinien. Alle werden pro Release aktualisiert.
-
Gemeinsame Erstellung von Blogbeiträgen, Tutorials, Use Cases und Best Practices mit der Community. Bisher entstanden 26 Chaos-Mesh-Artikel, darunter
an interactive tutorialauf O'Reillys Katakoda-Plattform. Diese Materialien ergänzen die Dokumentation ideal. -
Aufbereitung von Videos und Tutorials aus Community-Meetings, Webinaren und Meetups. Wertschätzung und Beantwortung von Community-Feedback und Anfragen.
Ausblick
Der jüngste Google-Ausfall unterstrich die Bedeutung von Systemzuverlässigkeit und Chaos Engineering. Liz Rice, CNCF TOC Chair, nannte Die 5 Top-Technologien 2021 – Chaos Engineering führt die Liste an. Wir sind überzeugt, dass Chaos Engineering bald eine neue Phase einläutet. Chaos Mesh 2.0 entwickelt aktuell Community-Anforderungen wie eine Workflow-Engine für flexible Chaos-Szenarien, Anwendungszustandsprüfungen und detaillierte Experimentberichte. Verfolgen Sie den Fortschritt im Projektfahrplan.
Abschließend
Chaos Mesh ist im letzten Jahr stark gewachsen, bleibt aber ein junges Projekt auf dem Weg zu seinem Ziel. Wir laden alle ein, beim Aufbau der Chaos-Engineering-Ökologie mitzuwirken!
Falls Sie Chaos Mesh interessant finden und verbessern möchten, treten Sie gerne unserem Slack-Kanal bei oder reichen Sie Pull Requests bzw. Issues im GitHub-Repository ein.