
👀 Um sanitizador de recursos de clusters Kubernetes
Popeye é um utilitário que escaneia clusters Kubernetes ao vivo e relata potenciais problemas com recursos e configurações implantados. À medida que o panorama do Kubernetes cresce, está se tornando um desafio para um humano acompanhar a infinidade de manifestos e políticas que orquestram um cluster. O Popeye escaneia seu cluster com base no que está implantado e não no que está no disco. Ao fazer linting do seu cluster, ele detecta configurações incorretas, recursos obsoletos e ajuda você a garantir que as melhores práticas estejam em vigor, evitando futuras dores de cabeça. Ele visa reduzir a sobrecarga cognitiva que se enfrenta ao operar um cluster Kubernetes no mundo real. Além disso, se seu cluster emprega um metric-server, ele relata potenciais alocações excessivas ou insuficientes de recursos e tenta avisar se seu cluster ficar sem capacidade.
Popeye é uma ferramenta somente leitura, ela não altera nenhum dos seus recursos Kubernetes de forma alguma!
Você pode gerar o relatório de varredura em HTML.
Popeye publica métricas do Prometheus. Fornecemos um painel Popeye de amostra para você começar neste repositório.
O Popeye está disponível nas plataformas Linux, OSX e Windows.
Binários para Linux, Windows e Mac estão disponíveis como tarballs na página de release.
Para OSX/Unit usando Homebrew/LinuxBrew ```shell brew install derailed/popeye/popeye
Usando go install
go install github.com/derailed/popeye@latest
Construindo a partir do código-fonte O Popeye foi construído usando go 1.21+. Para construir o Popeye a partir do código-fonte, você deve:
Clone o repositório
Adicione o seguinte comando no seu arquivo go.mod
replace (
github.com/derailed/popeye => MY_POPEYE_CLONED_GIT_REPO
)
Construa e execute o executável
go run main.go
Receita rápida para os impacientes: ```shell
git clone https://github.com/derailed/popeye cd popeye
make build
popeye
Popeye usa modo de terminal com 256 cores. Em sistema `Nix, certifique-se de que TERM está configurado adequadamente.
export TERM=xterm-256color
Você pode usar Popeye totalmente aberto ou usando um arquivo de configuração spinach yaml para ajustar seus linters. Detalhes sobre o arquivo de configuração do Popeye estão abaixo.```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 verifica seu cluster em busca de melhores práticas e possíveis problemas.
Atualmente, Popeye verifica apenas um conjunto específico de recursos Kubernetes selecionados.
Mais virão em breve!
Esperamos que os amigos do Kubernetes contribuam para tornar o Popeye ainda melhor.
O objetivo dos linters é detectar configurações incorretas, ou seja, coisas como incompatibilidade de portas, recursos mortos ou não utilizados, utilização de métricas, probes, imagens de contêineres, regras RBAC, recursos "nus" (naked), etc...
Popeye não é apenas mais uma ferramenta de análise estática. Ele executa e inspeciona recursos Kubernetes em clusters ativos e faz lint dos recursos como eles estão no ambiente real!
Aqui está uma lista de alguns linters disponíveis: