# README
k8s-tools
A toolset for inspecting Kubernetes clusters.
Provides SQL interface for querying information about K8s:
- Containers
- DaemonSets
- Deployments
- HorizontalPodAutoscalers
- Nodes
- PersistentVolumes
- Pods
- Services
- StatefulSets
Getting Started
Installation
[!IMPORTANT] CGO_ENABLED=1 is required for DuckDB.
CGO_ENABLED=1 go install github.com/Hexta/k8s-tools/cmd/k8s-tools@latest
Usage
Examples
Ad-hoc tools
- Print nodes utilisation in zone eu-central-1a
k8s-tools node utilisation -l topology.kubernetes.io/zone=eu-central-1a
Internal DB
k8s-tools can save K8s cluster state in internal DB to ease analyzing. DB Documentation
- Init DB.
k8s-tools db init
- Query data.
- Top10 CPU underutilized nodes
k8s-tools db query "select name, cpu_utilisation, labels['karpenter.sh/nodepool'] from k8s.nodes order by cpu_utilisation asc limit 10"
- Top10 CPU underutilized nodes
- Run SQL TUI.
k8s-tools db tui
Useful queries
- List tables
k8s-tools db query "select table_schema, table_name, table_type from information_schema.tables where table_schema='k8s' order by table_name""
Contributing
Please see our contributing guidelines.