
👀 Ein Kubernetes-Cluster-Ressourcen-Sanitizer
Popeye ist ein Dienstprogramm, das Live-Kubernetes-Cluster scannt und potenzielle Probleme mit bereitgestellten Ressourcen und Konfigurationen meldet. Da die Kubernetes-Landschaft wächst, wird es für einen Menschen zunehmend schwierig, die Vielzahl von Manifests und Richtlinien zu verfolgen, die einen Cluster orchestrieren. Popeye scannt Ihren Cluster basierend auf dem, was bereitgestellt ist, und nicht auf dem, was auf der Festplatte liegt. Durch Linting Ihres Clusters erkennt es Fehlkonfigurationen, veraltete Ressourcen und hilft Ihnen sicherzustellen, dass Best Practices eingehalten werden, um so zukünftige Probleme zu vermeiden. Es zielt darauf ab, die kognitive Überlastung zu reduzieren, die beim Betrieb eines Kubernetes-Clusters in der Praxis auftritt. Darüber hinaus meldet es, wenn Ihr Cluster einen Metric-Server verwendet, potenzielle Über-/Unterauslastungen von Ressourcen und warnt Sie, falls Ihr Cluster an seine Kapazitätsgrenzen stößt.
Popeye ist ein reines Lesetool, es verändert in keiner Weise Ihre Kubernetes-Ressourcen!
Sie können den Scan-Bericht als HTML ausgeben.
Popeye veröffentlicht Prometheus-Metriken. Wir haben in diesem Repository ein Beispiel-Dashboard für Popeye bereitgestellt, um Ihnen den Einstieg zu erleichtern.
Popeye ist auf Linux-, OS X- und Windows-Plattformen verfügbar.
Binärdateien für Linux, Windows und Mac sind als Tarballs auf der Release-Seite verfügbar.
Für OS X/Unix mit Homebrew/LinuxBrew ```shell brew install derailed/popeye/popeye
Verwendung von go install
go install github.com/derailed/popeye@latest
Erstellung aus dem Quellcode Popeye wurde mit go 1.21+ erstellt. Um Popeye aus dem Quellcode zu erstellen, müssen Sie:
Klonen Sie das Repository
Fügen Sie den folgenden Befehl in Ihre go.mod-Datei ein
replace (
github.com/derailed/popeye => MY_POPEYE_CLONED_GIT_REPO
)
Erstellen und führen Sie die ausführbare Datei aus
go run main.go
Kurzanleitung für Ungeduldige: ```shell
git clone https://github.com/derailed/popeye cd popeye
make build
popeye
Popeye verwendet den 256-Farben-Terminalmodus. Stellen Sie unter `Nix-Systemen sicher, dass TERM entsprechend gesetzt ist.
export TERM=xterm-256color
Sie können Popeye im offenen Modus oder mit einer Spinat-YAML-Konfiguration verwenden, um Ihre Linter abzustimmen. Details zur Popeye-Konfigurationsdatei finden Sie unten.```shell
popeye version
popeye
fred namespacepopeye -n fred
popeye -A
popeye -f spinach.yaml
popeye --context olive
popeye -n ns1 -s pod,svc --logs none
popeye -n ns1 --logs /tmp/fred.log -v4
popeye help
---
## Linters
Popeye scannt Ihren Cluster auf Best Practices und potenzielle Probleme.
Derzeit sucht Popeye nur nach einem bestimmten Satz kuratierter Kubernetes-Ressourcen.
Weitere werden bald hinzugefügt!
Wir hoffen, dass Kubernetes-Freunde mithelfen, Popeye noch besser zu machen.
Das Ziel der Linters ist es, Fehlkonfigurationen aufzuspüren, wie z. B.
Portkonflikte, tote oder ungenutzte Ressourcen, Metriknutzung,
Probes, Container-Images, RBAC-Regeln, nackte Ressourcen usw.
Popeye ist kein weiteres statisches Analysetool. Es läuft und überprüft Kubernetes-Ressourcen in
Live-Clustern und lintet Ressourcen so, wie sie in freier Wildbahn vorkommen!
Hier ist eine Liste einiger verfügbarer Linters: