Was ist KubeLinter?

URL kopieren

KubeLinter ist ein Open Source Tool zur statischen Analyse – auch als Lint oder Linter bezeichnet, das Fehlkonfigurationen und Programmierfehler in Kubernetes Deployments identifiziert. Das Befehlszeilen-Tool analysiert automatisch YAML-Dateien und Helm Charts anhand von bewährten Kubernetes-Konfigurations- und Sicherheitsverfahren.

Blog-Beitrag lesen

Kubernetes – auch bekannt als K8s – ist bekannt für seine Fähigkeit, containerisierte Anwendungen bereitzustellen, zu verwalten und zu skalieren, aber nicht für seine Fähigkeit, Container zu sichern. Auch Kubernetes-Konfigurationen werden in der Regel in YAML-Dateien definiert, die zwar für den Menschen lesbar sind, aber dennoch schwierig zu verstehen sind, und gültige Konfigurationen in großem Umfang erzeugen. Mit statischer Validierung allein lassen sich in komplexem YAML nicht ohne Weiteres Fehler und Verstöße erkennen, wodurch Sicherheitsprobleme aufgedeckt werden können.

Und Sicherheit ist unerlässlich.

Laut dem Red Hat Bericht zur Kubernetes-Einführung, Sicherheit und zu Markttrends für 2021 gaben mehr als die Hälfte der Befragten an, dass sie das Deployment von Kubernetes-Anwendungen in die Produktion aufgrund von Sicherheitsbedenken verzögert haben, wobei 94 % im Jahr 2020 mindestens einen Kubernetes-bezogenen Sicherheitsvorfall erlebt haben. Diese waren in erster Linie auf menschliches Versagen zurückzuführen, wobei manuell eingegebene Fehlkonfigurationen zu etwa 67 % der gemeldeten Fälle beitrugen.

Hier setzt KubeLinter an.

Das Lint Tool – das Ende 2020 von StackRox entwickelt wurde und Anfang 2021 von Red Hat übernommen wurde – wurde speziell zur Bekämpfung von Sicherheitsfehlern und zur Verbesserung der genauen Konfiguration von Kubernetes-Deployments zu Beginn des Entwicklungsprozesses entwickelt. Es führt Überprüfungen von Konfigurationsdateien durch und kann mit CI-Systemen (Continuous Integration) verwendet werden, um den Prozess der Aktualisierung von YAML-Dateien und Helm Charts zu vereinfachen und gleichzeitig bewährte DevSecOps-Verfahren anzuwenden.

Als OpenSource Tool, das unter der Apache 2.0-Lizenz zur Verfügung steht, ermöglicht KubeLinter auch Nutzern aus der gesamten OpenSource Community, zum Projekt beizutragen.

Mehr über KubeLinter auf GitHub erfahren

Red Hat Ressourcen

Zur Prüfung der korrekten Einrichtung von Kubernetes-Clustern und der Behebung von Programmierfehlern vor dem Deployment nimmt KubeLinter einen Pfad zu einem Diagramm und führt eine Reihe von Tests durch, um zu prüfen, ob das Diagramm korrekt aufgebaut und fehlerfrei ist. Es sendet dann Lint-Fehlermeldungen für alle gefundenen Fehler, die die Installation des Diagramms zum Scheitern bringen, oder eine Warnmeldung für alles, was nicht mit den bewährten Sicherheitsverfahren übereinstimmt.

KubeLinter wurde außerdem so konzipiert , dass es einfach zu bedienen ist. Es enthält 40 eingebaute Lint-Checks für gängige K8s-Fehlkonfigurationen wie das Ausführen eines Containers als Nutzer, nicht übereinstimmende Selectors und das Speichern sensibler Daten ausschließlich in Secrets. Es unterstützt die Konfiguration benutzerdefinierter Kontrollen und ermöglicht es den Nutzern, Konfigurationen wie Code zu behandeln, so dass Sicherheit viel früher in den Prozess der Anwendungsentwicklung integriert werden kann.

KubeLinter ist in hohem Maße konfigurierbar. Nutzer können ihre eigenen benutzerdefinierten Regeln mit minimalen Änderungen an den Workflows und nahezu sofortigem Feedback zu Fehlkonfigurationen und Sicherheitsverstößen erstellen, aktivieren und deaktivieren.

KubeLinter kann zu jedem CI/CD-Tool (Continuous Integration/Continuous Delivery) hinzugefügt werden – einschließlich GitHub Action, Jenkins, CircleCI und Travis CI – und kann automatisch auf Fehler in den Anwendungskonfigurationen prüfen und diese identifizieren. Dies hilft den Entwicklern bei der Behebung von Problemen und sie können Probleme in der gesamten Produktions-Pipeline automatisch erkennen.

Die Standardprüfungen von KubeLinter sind ebenfalls auf die Sicherheit ausgerichtet, so dass die Nutzer manuell zustimmen müssen, wenn sie Kubernetes auf eine unsichere Art konfigurieren möchten.

Das Herunterladen und Installieren von KubeLinter dauert nur ein paar Minuten. Es wurde als eigenständige Binärdatei in der für Menschen lesbaren Programmiersprache Go entwickelt, ist mit kubectl vergleichbar und wird mit einigen derselben Pakete erstellt.

Zur Installation von KubeLinter können Sie die Befehlszeilen-Schnittstelle lokal mit Go erstellen, vorgefertigte Docker-Container verwenden, mit Homebrew installieren oder selbst aus dem Quellcode erstellen. Nach der Installation verweisen Sie das Tool auf Ihre Helm Charts und Kubernetes YAML-Dateien, um umgehend Ergebnisse zu erhalten.

Da es sich um ein Open Source Tool handelt, können und sollten Entwickler mit Änderungen an Elementen des KubeLinters rechnen, je mehr es weiterentwickelt wird. Die Änderungen können Konfigurationsdateiformate, Flags und die Verwendung von Befehlen umfassen.

Holen Sie sich Tipps zur Installation von KubeLinter
Hub

Der offizielle Red Hat Blog

Lernen Sie mehr über unser Ökosystem von Kunden, Partnern und Communities und erfahren Sie das Neueste zu Themen wie Automatisierung, Hybrid Cloud, KI und mehr.

Red Hat Testversionen

Unsere kostenlosen Testversionen unterstützen Sie dabei, praktische Erfahrungen zu sammeln, sich auf eine Zertifizierung vorzubereiten oder zu bewerten, ob ein Produkt die richtige Wahl für Ihr Unternehmen ist.

Weiterlesen

Ansible im Vergleich zu Chef: Was Sie wissen müssen

Automatisierungstools: Chef vs. Ansible. Passt Ansible oder Chef besser zu Ihren IT-Anforderungen? Ähnlichkeiten und Unterschiede von Ansible und Chef im Detail

Automatisierungstools: Ansible, Terraform, Puppet, Chef, Salt

Red Hat Ansible Automation Platform und andere Tools unterstützen Unternehmen bei der Automatisierung von IT-Prozessen. Funktionen und Unterschiede erklärt

Vergleich von Linux-Distributionen – Welche ist die beste?

Eine Linux Distro ist ein installierbares Betriebssystem, das auf Linux-Kernel basiert und Benutzerprogramme und Repositories unterstützt. Vorteile von RHEL

Ressourcen zu Open Source

Verwandte Artikel