
👀 Un sanitizer de ressources de cluster Kubernetes
Popeye est un utilitaire qui analyse les clusters Kubernetes en direct et signale les problèmes potentiels liés aux ressources et configurations déployées. À mesure que le paysage Kubernetes s'agrandit, il devient difficile pour un humain de suivre la multitude de manifestes et de politiques qui orchestrent un cluster. Popeye scanne votre cluster en fonction de ce qui est déployé, et non de ce qui se trouve sur le disque. En nettoyant votre cluster, il détecte les mauvaises configurations, les ressources obsolètes et vous aide à vous assurer que les bonnes pratiques sont en place, évitant ainsi de futurs maux de tête. Il vise à réduire la surcharge cognitive à laquelle on est confronté lors de l'exploitation d'un cluster Kubernetes dans la nature. De plus, si votre cluster utilise un metric-server, il signale les éventuelles sous/sur-allocations de ressources et tente de vous avertir si votre cluster manque de capacité.
Popeye est un outil en lecture seule, il n'altère en aucune façon vos ressources Kubernetes !
Vous pouvez exporter le rapport d'analyse au format HTML.
Popeye publie des métriques Prometheus. Nous avons fourni un exemple de tableau de bord Popeye pour vous aider à démarrer dans ce dépôt.
Popeye est disponible sur les plateformes Linux, OSX et Windows.
Les binaires pour Linux, Windows et Mac sont disponibles sous forme d'archives dans la page des versions.
Pour OSX/Unix avec Homebrew/LinuxBrew ```shell brew install derailed/popeye/popeye
Utilisation de go install
go install github.com/derailed/popeye@latest
Construction à partir des sources Popeye a été construit avec go 1.21+. Pour construire Popeye à partir des sources, vous devez :
Clonez le dépôt
Ajoutez la commande suivante dans votre fichier go.mod
replace (
github.com/derailed/popeye => MY_POPEYE_CLONED_GIT_REPO
)
Compilez et exécutez l'exécutable
go run main.go
Recette rapide pour les impatients : ```shell
git clone https://github.com/derailed/popeye cd popeye
make build
popeye
Popeye utilise le mode terminal 256 couleurs. Sur les systèmes `Nix, assurez-vous que TERM est défini en conséquence.
export TERM=xterm-256color
Vous pouvez utiliser Popeye en mode ouvert ou en utilisant un fichier de configuration spinach yaml pour ajuster vos linters. Les détails sur le fichier de configuration Popeye sont ci-dessous.```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
---
## Analyseurs
Popeye scanne votre cluster à la recherche des meilleures pratiques et des problèmes potentiels.
Actuellement, Popeye ne vérifie qu'un ensemble donné de ressources Kubernetes sélectionnées.
D'autres arriveront bientôt !
Nous espérons que les amis de Kubernetes contribueront à rendre Popeye encore meilleur.
L'objectif des analyseurs est de détecter les mauvaises configurations, par exemple
les incompatibilités de ports, les ressources mortes ou inutilisées, l'utilisation des métriques,
les sondes, les images de conteneurs, les règles RBAC, les ressources nues, etc...
Popeye n'est pas un autre outil d'analyse statique. Il s'exécute et inspecte les ressources Kubernetes sur
des clusters en direct et analyse les ressources telles qu'elles sont en production !
Voici une liste de certains des analyseurs disponibles :