Kor é uma ferramenta de código aberto projetada para descobrir recursos não utilizados em um cluster Kubernetes. Ela ajuda administradores e desenvolvedores a otimizar a infraestrutura, removendo objetos “órfãos” que não são mais usados, mas continuam consumindo recursos e dificultando a gestão.
Repositório do projeto: github.com/yonahd/kor
Por que usar o Kor
Com o tempo, um cluster Kubernetes pode acumular vários objetos não utilizados — por exemplo:
- ConfigMap ou Secret que não estão vinculados a nenhum pod;
- Service sem endpoints ativos;
- Deployment que não é executado há muito tempo;
- PersistentVolumeClaim que não está anexado a nenhum pod.
Esses recursos:
- criam carga adicional no servidor da API,
- aumentam o custo de armazenamento e monitoramento,
- dificultam a manutenção da clareza e transparência da configuração.
O Kor automatiza a detecção desses objetos, simplificando a manutenção do cluster e aumentando sua eficiência.
Como o Kor funciona
O Kor se conecta ao seu cluster Kubernetes usando o arquivo kubeconfig e analisa os metadados dos recursos. A ferramenta mapeia as relações entre os recursos — por exemplo, verificando quais ConfigMaps são usados pelos pods em execução e quais PersistentVolumeClaims estão montados.
O resultado é um relatório detalhado que mostra:
- quais recursos não estão sendo usados,
- em qual namespace estão localizados,
- quais tipos de objetos podem ser removidos com segurança.
Exemplo de uso
Você pode instalar o Kor via go install ou baixando um binário do repositório do GitHub:
go install github.com/yonahd/kor@latest
Após a instalação, basta especificar o contexto do cluster:
kor --context my-cluster
O Kor fará a varredura no contexto especificado e exibirá a lista de recursos não utilizados:
❯ kor
Namespace: default
ConfigMap: unused-config
Secret: old-credentials
Também é possível configurar filtros e parâmetros de saída, por exemplo:
kor --namespace production --resource configmaps,secrets
Vantagens de usar o Kor
- Análise automatizada das relações entre recursos
- Recomendações claras para limpeza do cluster
- Compatibilidade com qualquer distribuição Kubernetes
- Instalação simples e interface de linha de comando
- Otimização de custos e infraestrutura
Conclusão
O Kor é uma ferramenta valiosa para engenheiros DevOps e administradores Kubernetes que desejam manter seus clusters limpos e eficientes. Ele ajuda a identificar e remover recursos não utilizados, reduzindo a carga e melhorando a capacidade de gerenciamento do ambiente.
FAQ
- Posso usar o Kor em produção?
Sim, o Kor é seguro para uso em produção, pois ele apenas lê dados da API do Kubernetes e não faz alterações no cluster. No entanto, recomenda-se revisar manualmente o relatório antes de excluir qualquer objeto. - O Kor suporta todos os tipos de recursos?
Atualmente, o Kor analisa os tipos de recursos Kubernetes mais comuns, como ConfigMap, Secret, Service, Deployment e PersistentVolumeClaim. A lista completa de tipos suportados pode ser encontrada na documentação do projeto. - Preciso instalar o Kor dentro do cluster?
Não, o Kor funciona externamente através do seu kubeconfig local. Isso significa que você pode executá-lo de qualquer máquina com acesso ao servidor de API do Kubernetes. - Posso integrar o Kor em um pipeline CI/CD?
Sim, o Kor pode ser integrado em pipelines automatizados para verificar regularmente o estado do cluster e limpar recursos obsoletos. - O Kor suporta vários contextos do Kubernetes?
Sim, é possível especificar o contexto desejado usando a flag --context, o que é útil ao trabalhar com múltiplos clusters.