Laden Sie Kubernetes mit diesen fantastischen Tools auf

Dieser Artikel stellt Ihnen einige großartige Tools vor, die mit Kubernetes gekoppelt werden können, um ihm mehr Leistung zu verleihen.

Wenn Sie in einem DevOps-Ökosystem arbeiten, werden Sie feststellen, wie wichtig es ist, über erstaunliche DevOps-Tools zu verfügen, um Ihre manuelle Belastung zu erleichtern. Für jede DevOps-Stufe und verschiedene Funktionalitäten stehen zahlreiche DevOps-Tools zur Verfügung.

Kubernetes ist eines der Must-haves, 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 zusammenarbeiten, um weitere Funktionen hinzuzufügen. Ich spreche von Tools für besseres Management, Sicherheit, Dashboard und Überwachung des Kubernetes-Clusters.

Hier ist eine Liste solcher erstaunlicher Tools, die Ihrem Kubernetes mehr Leistung verleihen.

Lass uns anfangen!

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 für Kubernetes entwickelte Software finden, freigeben und verwenden.

Es verwendet Diagramme, sogenannte Helm-Diagramme, um komplexe Kubernetes-Anwendungen zu definieren, zu installieren und zu aktualisieren.

Helmeigenschaften:

  • Kümmert sich mithilfe von Diagrammen um die gesamte Komplexität von Kubernetes-Anwendungen
  • Verwendet Upgrades und benutzerdefinierte Hooks, um Dinge einfach zu aktualisieren.
  • Diagramme können einfach auf öffentlichen oder privaten Servern geteilt werden.
  • Einfaches Rollback mit nur einem einzigen Befehl
  • Verbessert die Entwicklerproduktivität und erhöht die Betriebsbereitschaft

Flagger

Flagger ist ein Progressive Delivery Operator für Kubernetes.

Es automatisiert die Förderung von Canary-Bereitstellungen mit Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, Skipper-Routing für die Verkehrsverlagerung und Prometheus für die Canary-Analyse. Bei der Canary-Bereitstellung rollen Sie die Releases für eine kleine Gruppe von Benutzern aus, testen es, wenn es gut funktioniert, führen Sie das Release für alle aus.

Es verwendet das Service Mesh, das in Ihrem Cluster ausgeführt wird, um den Datenverkehr zwischen einer Bereitstellung und einer anderen zu verwalten. Um den Datenverkehr auf Canary zu verlagern, misst es Leistungsindikatoren wie die durchschnittliche Dauer von Anfragen, die Erfolgsrate von HTTP-Anfragen, den Pod-Zustand usw.

Flagger kann für verschiedene Bereitstellungsstrategien wie Canary, A/B-Tests, Blue/Green-Bereitstellung automatisierte Anwendungsanalysen, Heraufstufung und Rollback durchführen.

Kubewatch

Kubewatch ist ein Open-Source-Kubernetes-Watcher, der eine Benachrichtigung über den Slack-Kanal sendet.

Es wurde in Go-Programmierung geschrieben und von Bitnami Labs entwickelt. Es wird verwendet, um die Kubernetes-Ressourcen zu überwachen und benachrichtigt, wenn es Änderungen gibt.

Sie können Kubewatch über kubectl oder mithilfe von Helm-Charts installieren. 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.

  Infrastructure-as-Code vs. Configuration Management: Hauptunterschiede

Je nachdem, welches 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:

  • Einfach zu installieren, Plug-and-Play
  • Bietet rollenbasierte Zugriffskontrolle für Sicherheit
  • Einfach mit einem öffentlichen Schlüssel zu authentifizieren
  • Ein Namespace für Mandantenfähigkeit wird unterstützt
  • Keine zusätzlichen Abhängigkeiten außer kubectl und git

kube-state-metrics

kube-state-metrics ist ein Dienst, der Zustandsobjektmetriken generiert, indem er den Kubernetes-API-Server abhört. Es wird verwendet, um den Zustand verschiedener Objekte wie Knoten, Pods, Namespaces und Bereitstellungen zu überprüfen. Es stellt Ihnen rohe, unveränderte Daten aus der Kubernetes-API zur Verfügung.

Nachfolgend finden Sie die Informationen, die von kube-state-metrics bereitgestellt werden:

  • Cron-Jobs und Jobstatus
  • Status der Pods (bereit, läuft, etc.)
  • Ressourcenanfragen und ihre Reichweite
  • Knotenkapazität und Status
  • Spezifikation von Replikatsets

Kamus

Kamus ist ein Open-Source-GitOps-Tool, das zur Verschlüsselung und Entschlüsselung von Geheimnissen für Kubernetes-Anwendungen verwendet wird. Die verschlüsselten Geheimnisse von Kamus können nur von Anwendungen entschlüsselt werden, die auf dem Kubernetes-Cluster ausgeführt werden. Es verwendet AES, Google Cloud KMS, Azure KeyVault zur Verschlüsselung von Geheimnissen. Sie können mit Kamus beginnen, indem Sie die Steuerkarte verwenden.

Kamus wird mit zwei Dienstprogrammen geliefert – Kamus CLI und Kamus Init Container. Kamus CLI wird für die Integration mit der Verschlüsselungs-API verwendet, und der Kamus-Init-Container wird für die Integration mit der Entschlüsselung der API verwendet.

Kubernetes Plain Secrets werden nicht verschlüsselt; Sie sind base64-kodiert. Sie können es nicht so wie es ist auf Git behalten; es ist nicht sicher. Jeder, der Zugriff auf das Repo hat, kann diese Geheimnisse verwenden. 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 verwendet wird, um nicht nachverfolgte Ressourcen zu finden und sie zu entsorgen. Es hilft Ihnen, diese Dateien aus dem Cluster zu finden und 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. Nachdem die Objekte gelöscht wurden, werden sie im Bereitstellungsprozess nicht nachverfolgt und befinden sich weiterhin im Kubernetes-Cluster.

Es führt den Befehl intern mit einer einfachen Konfigurationsdatei untrak.yaml aus, um Ressourcen zu finden, die nicht mehr Teil Ihrer Quellcodeverwaltung sind.

  So konfigurieren Sie ein HiFi-Desktop-Audiosystem

Zielfernrohr

Webbereich dient der Visualisierung, Überwachung und Fehlerbehebung von Docker und Kubernetes.

Es zeigt Ihnen eine Top-Down-Ansicht Ihrer containerisierten Anwendung und der gesamten 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 sind hier sehr dynamisch und schwer zu überwachen. Mit Weave Scope können Sie Speicherlecks einfach beheben, den CPU-Verbrauch kontrollieren und Netzwerkengpässe visualisieren.

Umfangsmerkmale:

  • Hilft Ihnen, Ihre Docker-Container in Echtzeit zu überwachen
  • Bietet eine einfache Navigation zwischen Prozessen, die in den Containern ausgeführt werden
  • Zeigt die CPU- und Speicherauslastung nach Host oder Dienst an
  • Starten, stoppen oder pausieren Sie Container mithilfe der CLI neu, ohne das Bereichsbrowserfenster zu verlassen.
  • Unterstützt benutzerdefinierte Plugins, um mehr Details zu Containern, Prozessen und Hosts zu erhalten

Kubernetes-Dashboard

Kubernetes-Dashboard ist eine von Kubernetes bereitgestellte Webschnittstelle. Es wird verwendet, um die containerisierte Anwendung in einem Kubernetes-Cluster bereitzustellen, Fehler zu beheben und zu verwalten. Es enthält alle Informationen zu einem Cluster, wie z. B. Details zu Knoten, Namensräumen, Rollen, Arbeitslasten usw.

Sie können Helm-Diagramme verwenden, um das Kubernetes-Dashboard bereitzustellen, oder einen einfachen kubectl-Befehl verwenden, der unten erwähnt wird:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

Kops

Kops steht für Kubernetes Operations, ein Open-Source-Projekt, mit dem sehr einfach und schnell produktionsreife Kubernetes-Cluster aufgebaut werden können. Kops kann hauptsächlich zur Bereitstellung von Kubernetes-Clustern auf AWS und GCE verwendet werden.

Ein kleiner Kubernetes-Cluster ist einfach zu erstellen und zu warten, aber wenn Sie Ihren Cluster skalieren, werden viele Konfigurationen hinzugefügt, und es wird schwierig, ihn operativ zu verwalten. Kops ist ein Werkzeug, das Ihnen hilft, solche Probleme zu lösen. Es folgt einem konfigurationsgesteuerten Ansatz, bei dem der Cluster immer auf dem neuesten Stand und sicher bleibt.

Kops hat auch viele Netzwerk-Backends und die Auswahl eines davon, je nach Anwendungsfall, macht es Ihnen leicht, verschiedene Arten von Clustern einzurichten.

cBerater

cBerater ist ein Open-Source-Tool zur Überwachung eines Containers. Es wird verwendet, um die Leistungsmerkmale und die Ressourcennutzung der Container zu verstehen, die auf dem Cluster ausgeführt werden.

Es arbeitet auf Knotenebene und kann automatisch alle Container erkennen, die auf einem bestimmten Knoten ausgeführt werden, und sammelt Arbeitsspeicher-, Dateisystem-, CPU- und Netzwerkstatistiken. Es bietet eine Webschnittstelle, 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 http://localhost:8080 in einem Webbrowser darauf zugreifen.

Würfelspray

Würfelspray ist ein kostenloses Tool, das durch die Kombination von Ansible Playbooks und Kubernetes erstellt wurde. Es wird für die Lebenszyklusverwaltung von Kubernetes-Clustern verwendet.

  Die 11 besten Personal Firewalls für Computer und Mobiltelefone

Durch die Verwendung von Kubespray können Sie schnell einen Cluster bereitstellen und alle Parameter einer Cluster-Implementierung wie Bereitstellungsmodi, Netzwerk-Plug-ins, DNS-Konfiguration, Komponentenversionen, Zertifikatgenerierungsmethoden usw. anpassen.

Indem Sie nur ein einfaches Ansible-Playbook ausführen, ist 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 zum Navigieren, Beobachten und Verwalten der Anwendung verwendet, die auf dem Kubernetes-Cluster bereitgestellt wird.

K9s-Funktionen:

  • Verfolgen Sie Ihren Cluster in Echtzeit
  • Passen Sie die Anzeige pro Ressource an
  • Vergrößern Sie Cluster-Ressourcenprobleme
  • Unterstützt rollenbasierte Zugriffskontrolle
  • Integrierte Benchmarks zur Validierung der Ressourcenleistung

Kubetail

Kubetail ist ein einfaches Bash-Skript, das verwendet wird, um Protokolle von mehreren Pods in einem Stream zusammenzufassen.

Sehr praktisch!

Es hilft Ihnen beim einfachen Debuggen.

Die neueste Kubetail-Version verfügt außerdem über Hervorhebungs- und Filterfunktionen. Mit dieser Funktion können Sie Protokolle einfärben. Mit Homebrew können Sie Kubetail mit einem einzigen Befehl installieren. Sie können Umgebungsvariablen Standardwerte hinzufügen, die Kubetail lesen kann, wie KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS usw.

Leistungsstarkes Siegel

Leistungsstarkes Siegel ist ein leistungsstarkes Open-Source-Chaos-Engineering-Tool, das in Python für Kubernetes-Cluster geschrieben wurde.

Chaos Engineering wird verwendet, um das Vertrauen des Systems zu gewinnen, um seine Fähigkeit zu überprüfen, mit problematischen Situationen in der Produktion umzugehen. Es fügt dem Kubernetes-Cluster Fehler hinzu, um Probleme darin so früh wie möglich zu identifizieren.

Es ist von Netflix Chaos Monkey inspiriert und wird verwendet, um die Widerstandsfähigkeit von Kubernetes zu verbessern. Mithilfe von PowerfulSeal versuchen die Ingenieure bewusst, Dinge auf dem Cluster zu beschädigen, um zu überprüfen, wie das System reagiert.

PowerfulSeal arbeitet in drei Modi – Autonom, Interaktiv, Label.

Im autonomen Modus führt es Szenarien aus, indem es eine von Ihnen bereitgestellte Richtliniendatei liest. Im interaktiven Modus informiert es Sie über Cluster-Komponenten, die Sie manuell zu brechen versuchen. Im Label-Modus töten Sie gezielte Objekte auf dem Cluster wie Pods mithilfe von Labels.

Popeye

Popeye ist ein Reinigungsdienstprogramm, das als Desinfektionsmittel 🧼 für Kubernetes-Cluster fungiert.

Es scannt den gesamten Cluster und meldet Probleme im Zusammenhang mit Konfigurationen und Ressourcen. Es hilft Ihnen, die Best Practices im Kubernetes-Cluster auszuführen, um häufige Probleme zu vermeiden.

Dieses Dienstprogramm ist für Windows, Linux und macOS verfügbar. Derzeit funktioniert es nur mit Nodes, Pods, Namespaces, Services. Mit Popeye können Sie tote und ungenutzte Ressourcen, Port-Nichtübereinstimmungen, RBAC-Regeln, Metriknutzung und vieles mehr einfach identifizieren.

Fazit

DevOps-Tools spielen eine entscheidende Rolle für den Erfolg, und ich hoffe, das Obige hilft Ihnen dabei, Kubernetes besser zu verwalten.