In diesem Artikel werden einige großartige Tools vorgestellt, die mit Kubernetes gekoppelt werden können, um mehr Leistung zu erzielen.
Wenn Sie in einem DevOps-Ökosystem arbeiten, werden Sie feststellen, wie wichtig es ist, über erstaunliche DevOps-Tools zu verfügen, um das manuelle Laden zu erleichtern. Für jede DevOps-Phase und verschiedene Funktionen stehen zahlreiche DevOps-Tools zur Verfügung.
Kubernetes ist eines der Muss, wenn Sie in der DevOps-Domäne arbeiten und Ihre Apps in Containern ausführen. Es gibt Hunderte von Tools, die in Verbindung mit Kubernetes weitere Funktionen hinzufügen. Ich spreche von Tools für eine bessere Verwaltung, Sicherheit, Dashboard und Überwachung des Kubernetes-Clusters.
Hier ist eine Liste solcher erstaunlichen Tools, die Ihren Kubernetes mehr Leistung verleihen.
Lassen Sie uns loslegen!
Helm
Helm ist ein Paketmanager für Kubernetes, der es einfach macht, Anwendungen und Dienste zu übernehmen, die hochgradig wiederholbar sind oder in vielen verschiedenen Szenarien verwendet werden, wodurch es einfacher wird, sie in einem typischen Kubernetes-Cluster bereitzustellen. Mit Helm können Sie die Software finden, freigeben und verwenden, die ist für Kubernetes gebaut.

Es verwendet Diagramme, sogenannte Helm-Diagramme, um komplexe Kubernetes-Anwendungen zu definieren, zu installieren und zu aktualisieren.
Helm Eigenschaften:
- Erledigt die gesamte Komplexität der Kubernetes-Anwendungen mithilfe von Diagrammen
- Verwendet Upgrades und benutzerdefinierte Hooks, um Dinge einfach zu aktualisieren.
- Diagramme können problemlos auf öffentlichen oder privaten Servern freigegeben werden.
- Einfaches Rollback mit nur einem Befehl
- Verbessert die Entwicklerproduktivität und die Betriebsbereitschaft
Flagger
Flagger ist ein Progressive Delivery Operator für Kubernetes.
Es automatisiert die Förderung kanarischer Bereitstellungen mithilfe von Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, Skipper-Routing für Verkehrsverlagerungen und Prometheus für die kanarische Analyse. Bei der kanarischen Bereitstellung stellen Sie die Versionen für eine kleine Gruppe von Benutzern bereit. Testen Sie sie. Wenn sie ordnungsgemäß funktionieren, stellen Sie sie für alle bereit.
Es verwendet das Service-Mesh, das in Ihrem Cluster ausgeführt wird, um den Datenverkehr zwischen einer Bereitstellung und einer anderen zu verwalten. Bei der Verlagerung des Datenverkehrs auf Canary werden Leistungsindikatoren wie die durchschnittliche Dauer von Anforderungen, die Erfolgsrate von HTTP-Anforderungen, der Pod-Zustand usw. gemessen.
Flagger kann für verschiedene Bereitstellungsstrategien wie Canary, A / B-Tests und Blue / Green-Bereitstellung eine automatisierte Anwendungsanalyse, Promotion und ein Rollback durchführen.
Kubewatch
Kubewatch ist ein Open-Source-Kubernetes-Beobachter, der eine Benachrichtigung über den Slack-Kanal sendet.
Es steht am geschrieben Go Programmierung und entwickelt von Bitnami Labs. Es wird verwendet, um die Kubernetes-Ressourcen zu überwachen und zu benachrichtigen, wenn Änderungen vorgenommen werden.
Sie können Kubewatch über installieren kubectl
oder mithilfe von Ruderkarten. Es ist einfach zu verstehen und hat eine sehr einfach zu bedienende Oberfläche. Neben Slack unterstützt es auch HipChat, Mattermost, Flock, Webhook und SMTP.
Abhängig davon, welche Kubernetes Sie überwachen möchten, können Sie für diese Ressourcen in der ConfigMap-Datei true oder false festlegen. Sobald Sie die Kubewatch-Konfiguration festgelegt und einen Pod ausgeführt haben, erhalten Sie Benachrichtigungen zum Kubernetes-Ereignis, wie unten gezeigt.
Gitkube
Gitkube ist ein Tool, das Git Push zum Erstellen und Bereitstellen von Docker-Images auf Kubernetes verwendet. Es besteht aus drei Komponenten: Remote, Gitkube-Controller, Gitkubed. Remote besteht aus benutzerdefinierten Ressourcen, die von gitkube-controller verwaltet werden. gitkube-controller sendet die Änderungen an gitkubed, das dann das Docker-Image erstellt und bereitstellt.
Gitkube-Funktionen:
- Einfache Installation, Plug & Play
- Bietet rollenbasierte Zugriffssteuerung für die Sicherheit
- Einfache Authentifizierung mit einem öffentlichen Schlüssel
- Ein Namespace für Mandantenfähigkeit wird unterstützt
- Keine zusätzlichen Abhängigkeiten außer kubectl und git
kube-state-metrics
Kube-State-Metriken ist ein Dienst, der Statusobjektmetriken durch Abhören des Kubernetes-API-Servers generiert. Es wird verwendet, um den Zustand verschiedener Objekte wie Knoten, Pods, Namespaces und Bereitstellungen zu überprüfen. Es bietet Ihnen unveränderte Rohdaten aus der Kubernetes-API.
Nachfolgend finden Sie die Informationen, die von Kube-State-Metriken bereitgestellt werden:
- Cron-Jobs und Jobstatus
- Status der Pods (bereit, laufend usw.)
- Ressourcenanforderungen und deren Reichweite
- Knotenkapazität und deren Status
- Spezifikation von Replikatsätzen
Kamus
Kamus ist ein Open-Source GitOps Tool, das zum Ver- und Entschlüsseln von Geheimnissen für Kubernetes-Anwendungen verwendet wird. Die verschlüsselten Geheimnisse, die Kamus tut, können nur von Anwendungen entschlüsselt werden, die auf dem Kubernetes-Cluster ausgeführt werden. Es verwendet AES, Google Cloud KMS und Azure KeyVault zur Verschlüsselung von Geheimnissen. Sie können mit Kamus anhand der Steuertabelle beginnen.
Kamus kommt mit zwei Dienstprogrammen - Kamus CLI und Kamus Init Container. Die Kamus-CLI wird für die Integration in die Verschlüsselungs-API verwendet, und der Kamus-Init-Container wird für die Integration in die Entschlüsselung der API verwendet.
Kubernetes plain Secrets werden nicht verschlüsselt. Sie sind base64-codiert. Sie können es nicht so auf Git lassen, wie es ist; es ist nicht sicher. Jeder, der Zugang zum Repo hat, kann diese Geheimnisse nutzen. Daher wird eine geeignete Verschlüsselungs- / Entschlüsselungslösung wie Kamus benötigt. Es bietet auch ein Bedrohungsmodell, das sich um Bedrohungen kümmert und Geheimnisse sicher macht.
Untrak
Untrak ist ein Open-Source-Tool, das in Kubernetes zum Auffinden nicht verfolgter Ressourcen und zum Sammeln von Müll verwendet wird. Es hilft Ihnen, die Dateien zu finden und aus dem Cluster zu löschen, die nicht verfolgt werden.
Nachdem Sie die Manifeste mithilfe von kubectl apply oder helm template in Ihre CI / CD-Pipeline eingefügt haben, weiß Kubernetes nicht, wann das Objekt aus dem Repository gelöscht wird. Sobald die Objekte gelöscht wurden, werden sie im Übermittlungsprozess nicht mehr verfolgt und befinden sich weiterhin im Kubernetes-Cluster.
Der Befehl wird intern mithilfe einer einfachen Konfigurationsdatei ausgeführt untrak.yaml
um Ressourcen herauszufinden, die nicht mehr Teil Ihrer Quellcodeverwaltung sind.
Scope
Umfang weben dient zur Visualisierung, Überwachung und Fehlerbehebung von Docker und Kubernetes.
Es zeigt Ihnen eine Ansicht von oben nach unten containerisiert Anwendung und die gesamte Infrastruktur, mit der Sie Probleme leicht identifizieren und diagnostizieren können.
Das Ausführen von Microservice-Architekturanwendungen in Docker-Containern ist nicht so einfach. Die Komponenten hier sind sehr dynamisch und schwer zu überwachen. Mit Weave Scope können Sie auf einfache Weise Speicherlecks beheben, den CPU-Verbrauch steuern und Netzwerkegpässe visualisieren.
Umfangsmerkmale:
- Hilft Ihnen und Überwachen Sie Ihre Docker-Container in Echtzeit
- Bietet eine einfache Navigation zwischen Prozessen, die in den Containern ausgeführt werden
- Zeigt die CPU- und Speichernutzung des Hosts oder Dienstes an
- Container mit CLI neu starten, stoppen oder anhalten, ohne das Fenster des Bereichsbrowsers zu verlassen.
- Unterstützt benutzerdefinierte Plugins, um weitere Details zu Containern, Prozessen und Hosts zu erhalten
Kubernetes Dashboard
Kubernetes-Dashboard ist eine von Kubernetes bereitgestellte Weboberfläche. Es wird zum Bereitstellen, Beheben von Problemen und Verwalten der containerisierten Anwendung in einem Kubernetes-Cluster verwendet. Es enthält alle Informationen zu einem Cluster, z. B. Details zu Knoten, Namespaces, Rollen, Workloads usw.
Sie können Helmdiagramme verwenden, um das Kubernetes-Dashboard bereitzustellen, oder ein einfaches verwenden kubectl Befehl unten genannten:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
Kops
Polizisten steht für Kubernetes Operations, ein Open-Source-Projekt, mit dem produktionsbereite Kubernetes-Cluster sehr einfach und schnell eingerichtet werden können. Mit Kops können hauptsächlich Kubernetes-Cluster unter AWS und GCE bereitgestellt werden.
Ein kleiner Kubernetes-Cluster ist einfach zu erstellen und zu warten. Wenn Sie jedoch Ihren Cluster skalieren, werden viele Konfigurationen hinzugefügt, und die betriebliche Verwaltung wird schwierig. Kops ist ein Tool, mit dem Sie solche Probleme lösen können. Es folgt einem konfigurationsgesteuerten Ansatz, bei dem der Cluster immer auf dem neuesten Stand und sicher ist.
Kops verfügt auch über viele Netzwerk-Backends. Wenn Sie je nach Anwendungsfall eines davon auswählen, können Sie auf einfache Weise verschiedene Arten von Clustern einrichten.
cAdvisor
Berater ist ein Open-Source-Tool zur Überwachung eines Containers. Es wird verwendet, um die Leistungsmerkmale und die Ressourcennutzung der auf dem Cluster ausgeführten Container zu verstehen.
Es wird auf Knotenebene ausgeführt und kann alle auf einem bestimmten Knoten ausgeführten Container automatisch erkennen und Speicher-, Dateisystem-, CPU- und Netzwerkstatistiken erfassen. Es bietet eine Weboberfläche, die die Live-Daten aller Container im Cluster anzeigt.
Um mit cAdvisor zu beginnen, müssen Sie das Docker-Image google / cadvisor ausführen und können dann unter darauf zugreifen http://localhost:8080 in einem Webbrowser.
Kubespray
Würfelspray ist ein kostenloses Tool, das durch die Kombination von Ansible-Playbooks und Kubernetes erstellt wurde. Es wird für das Kubernetes Cluster Lifecycle Management verwendet.
Mit Kubespray können Sie einen Cluster schnell bereitstellen und alle Parameter einer Cluster-Implementierung wie Bereitstellungsmodi, Netzwerk-Plugins, DNS-Konfiguration, Komponentenversionen, Methoden zur Zertifikatserstellung usw. anpassen.
Indem Sie einfach eine ausführen Ansible-Playbookist Ihr Cluster betriebsbereit. Sie können Ihren Kubernetes-Cluster einfach skalieren oder aktualisieren.
K9s
K9s ist ein Terminal-basiertes Open-Source-Tool, und sein Dashboard-Dienstprogramm kann alles tun, was eine Kubernetes-Web-Benutzeroberfläche tut. Es wird verwendet, um zu navigieren, zu beobachten und zu verwalten Anwendung, die auf Kubernetes bereitgestellt wird Cluster.
K9s Eigenschaften:
- Verfolgen Sie Ihren Cluster in Echtzeit
- Passen Sie die Anzeige pro Ressource an
- Vergrößern Sie die Cluster-Ressourcenprobleme
- Unterstützt die rollenbasierte Zugriffssteuerung
- Integrierte Benchmarks zur Validierung der Ressourcenleistung
Kubetail
Kubetail ist ein einfaches Bash-Skript, mit dem Protokolle aus mehreren Pods in einem Stream zusammengefasst werden.
Sehr praktisch!
Es hilft Ihnen beim Debuggen mit Leichtigkeit.
Die neueste Kubetail-Version verfügt außerdem über Hervorhebungs- und Filterfunktionen. Mit dieser Funktion können Sie Protokolle einfärben. Verwenden Homebrew, können Sie Kubetail mit einem einzigen Befehl installieren. Sie können Umgebungsvariablen Standardwerte hinzufügen, die Kubetail lesen kann KUBETAIL_NAMESPACE
, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS
usw.
PowerfulSeal
Leistungsstarkes Siegel ist ein Open-Source-Tool für das Chaos-Engineering, das in Python für Kubernetes-Cluster geschrieben wurde.
Chaos Engineering wird verwendet, um das Vertrauen des Systems zu gewinnen und seine Fähigkeit zu überprüfen, mit problematischen Situationen in der Produktion umzugehen. Dem Kubernetes-Cluster wird ein Fehler gemeldet, um Probleme darin so früh wie möglich zu identifizieren.
Es ist von Netflix Chaos Monkey inspiriert und wird verwendet, um die Ausfallsicherheit von Kubernetes zu verbessern. Mit PowerfulSeal versuchen die Ingenieure wissentlich, die Cluster zu beschädigen, um zu überprüfen, wie das System reagiert.
PowerfulSeal funktioniert in drei Modi: Autonom, Interaktiv, Label.
Im autonomen Modus werden Szenarien ausgeführt, indem eine von Ihnen bereitgestellte Richtliniendatei gelesen wird. Im interaktiven Modus werden Informationen zu Clusterkomponenten angezeigt, die Sie manuell zu brechen versuchen. Im Beschriftungsmodus töten Sie Zielobjekte im Cluster wie Pods mithilfe von Beschriftungen.
Popeye
Popeye ist ein Reinigungsprogramm, das als Desinfektionsmittel für Kubernetes-Cluster fungiert.
Der gesamte Cluster wird gescannt und es werden Probleme im Zusammenhang mit Konfigurationen und Ressourcen gemeldet. Es hilft Ihnen bei der Ausführung der Best Practices auf dem Kubernetes-Cluster, um sich von allgemeinen Problemen fernzuhalten.
Dieses Dienstprogramm ist für Windows, Linux und macOS verfügbar. Derzeit funktioniert es nur mit Knoten, Pods, Namespaces und Diensten. Mit Popeye können Sie auf einfache Weise tote und nicht verwendete Ressourcen, Port-Fehlanpassungen, RBAC-Regeln, Metrikauslastung und vieles mehr identifizieren.
Fazit
DevOps-Werkzeuge spielen eine wichtige Rolle für den Erfolg, und ich hoffe, das oben Genannte hilft Ihnen Kubernetes verwalten besser.