Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tech-preta/k8s-resource-analyzer
Script para analisar e sugerir recursos de CPU e memória para workloads no Kubernetes que não possuem requests e limits definidos, gerando um relatório em formato CSV.
https://github.com/tech-preta/k8s-resource-analyzer
csv kubeconfig kubectl kubernetes limits metrics requests
Last synced: 11 days ago
JSON representation
Script para analisar e sugerir recursos de CPU e memória para workloads no Kubernetes que não possuem requests e limits definidos, gerando um relatório em formato CSV.
- Host: GitHub
- URL: https://github.com/tech-preta/k8s-resource-analyzer
- Owner: Tech-Preta
- License: gpl-3.0
- Created: 2024-01-03T02:03:59.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-03T03:05:26.000Z (about 1 year ago)
- Last Synced: 2025-01-11T04:15:40.286Z (19 days ago)
- Topics: csv, kubeconfig, kubectl, kubernetes, limits, metrics, requests
- Language: Shell
- Homepage:
- Size: 18.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Kubernetes Resource Analyzer
Este projeto é um script em shell que analisa os workloads no Kubernetes que não possuem requests e limits de CPU e memória definidos. Ele gera um relatório em formato CSV com sugestões de requests com base no uso atual.
## Pré-requisitos
- [kubectl](https://kubernetes.io/docs/tasks/tools/)
- [jq](https://stedolan.github.io/jq/download/)
- [Metrics Server](https://kubernetes.io/docs/tasks/debug-application-cluster/resource-metrics-pipeline/#metrics-server) instalado no seu cluster Kubernetes
- Permissões para consultar a API do Kubernetes e executar comandos `kubectl top pod`
- Variável de ambiente `KUBECONFIG` configurada corretamente. Se não estiver definida, o script usará o arquivo de configuração padrão (`$HOME/.kube/config`)## Instalação do Metrics Server
O Metrics Server é um agregador de dados de uso de recursos escalonável que é instalado por padrão em muitos clusters, ou pode ser instalado manualmente.
Para instalar o Metrics Server em seu cluster, você pode seguir os seguintes passos:
1. Instale o Metrics Server:
```bash
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
```Agora o Metrics Server deve estar rodando em seu cluster.
## Uso
1. Clone o repositório:
```bash
git clone https://github.com/seu-usuario/Kubernetes-Resource-Analyzer.git
cd Kubernetes-Resource-Analyzer
```2. Torne o script executável:
```bash
chmod +x requests_limits.sh
```3. Execute o script:
```bash
./requests_limits.sh
```O script irá gerar um arquivo `workloads_without_requests.csv` com as sugestões de requests.
## Sobre os Limits
Acesse a [wiki](https://github.com/nataliagranato/kubernetes-resource-analyzer/wiki) do repositório para entender mais.
## Contribuição
Contribuições são bem-vindas. Sinta-se à vontade para abrir uma issue ou enviar um pull request.