
👀 Un sanitizador de recursos de clúster Kubernetes
Popeye es una utilidad que escanea clústeres Kubernetes en ejecución e informa posibles problemas con los recursos y configuraciones desplegados. A medida que el panorama de Kubernetes crece, se vuelve un desafío para un humano hacer seguimiento de la multitud de manifiestos y políticas que orquestan un clúster. Popeye escanea tu clúster basándose en lo que está desplegado, no en lo que está en el disco. Al hacer linting de tu clúster, detecta configuraciones incorrectas, recursos obsoletos y te ayuda a asegurar que se sigan las mejores prácticas, previniendo así futuros dolores de cabeza. Su objetivo es reducir la sobrecarga cognitiva que uno enfrenta al operar un clúster Kubernetes en producción. Además, si tu clúster utiliza un servidor de métricas, informa sobre posibles sobre/subasignaciones de recursos e intenta advertirte si tu clúster se queda sin capacidad.
¡Popeye es una herramienta de solo lectura, no altera ninguno de tus recursos de Kubernetes de ninguna manera!
Puedes volcar el informe de escaneo a HTML.
Popeye publica métricas de Prometheus. Proveemos un dashboard de muestra de Popeye para que comiences en este repositorio.
Popeye está disponible en plataformas Linux, OSX y Windows.
Los binarios para Linux, Windows y Mac están disponibles como tarballs en la página de lanzamientos.
Para OSX/Unix usando Homebrew/LinuxBrew ```shell brew install derailed/popeye/popeye
Usando go install
go install github.com/derailed/popeye@latest
Compilando desde el código fuente Popeye fue compilado usando go 1.21+. Para compilar Popeye desde el código fuente debes:
Clonar el repositorio
Añadir el siguiente comando en tu archivo go.mod
replace (
github.com/derailed/popeye => MY_POPEYE_CLONED_GIT_REPO
)
Compilar y ejecutar el ejecutable
go run main.go
Receta rápida para los impacientes: ```shell
git clone https://github.com/derailed/popeye cd popeye
make build
popeye
Popeye usa el modo terminal de 256 colores. En sistemas `Nix, asegúrate de que TERM esté configurado correctamente.
export TERM=xterm-256color
Puedes usar Popeye a pleno rendimiento o utilizando una configuración yaml de spinach para ajustar tus linters. Los detalles sobre el archivo de configuración de Popeye se encuentran a continuación.```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 escanea tu clúster en busca de mejores prácticas y posibles problemas.
Actualmente, Popeye solo examina un conjunto determinado de recursos de Kubernetes.
¡Pronto vendrán más!
Esperamos que los amigos de Kubernetes contribuyan para mejorar aún más a Popeye.
El objetivo de los linters es detectar configuraciones incorrectas, como
desajustes de puertos, recursos muertos o no utilizados, utilización de métricas,
sondas, imágenes de contenedores, reglas RBAC, recursos desnudos, etc.
Popeye no es otra herramienta de análisis estático. Se ejecuta e inspecciona los recursos de Kubernetes en
clústeres en vivo y lint los recursos tal como están en producción.
Aquí hay una lista de algunos de los linters disponibles: