Kubernautics

Kubernautics is an open-source cluster monitoring solution that looks to prioritize ease of deployment, ease of use, and a low resource footprint. The program is placed directly into the cluster it is meant to monitor, and interfaces with your Prometheus deployment to provide detailed, reliable metric data. When you arrive at the UI, at your disposal are two dynamic tools to shape your monitoring experience; the dashboard of prometheus-fed cluster and application metrics, and the kubernetes cluster visualizer.

Built with

Kubernetes Docker Prometheus ChartJS ReactRouter Express React Jest MUI Webpack Helm Javascript npm Node.JS HTML5

Features

1. Realtime Monitoring Dashboard

  • Kubernautics compiles all metrics you want to track and constantly pulls information based off of the custom metric scrape rate

2. Customizable Metrics

  • Kubernautics simplifies the Prometheus scraping tasks and provides additional information to each query task

    homepage

3. Cluster Visualization

  • Kubernautics depicts the interdependencies within your cluster but also employs a color-coded system for ease of navigation

    visualizer

Getting Started with Kubernautics

Building the Container Image

The Kubernautics container image must currently be built from source. Download a copy of this repo, and once inside run —

docker build . -t kubernautics:latest

— to yield an image that can be deployed into your cluster.

Deploying to your cluster

Kubernautics currently assumes it can communicate with prometheus at the following address —

http://prometheus-kube-prometheus-prometheus:9090

— which is the default configuration when Prometheus is deployed via the Community Helm Chart. We plan to make this configurable in the future.

For a reference deployment, you can run npm run cluster:prod up from inside the repository. You will need minikube and devspace installed locally on your machine; see the setup guide for developers for more info.

How to Contribute

  1. Fork the Project
  2. Create your Feature Branch based off of Dev
  • git checkout -b feature/NewFeature
  1. Setup/enter the development environment

  2. Commit your Changes

  • git commit -m 'What was changed: Description of the NewFeature'
  1. Push to the Branch
  • git push origin feature/NewFeature
  1. Open a Pull Request (from feature/NewFeature to dev)
  • make sure newest dev branch has been merged

Progress

Feature Status
Customizable Cluster Visualizer
Additional Chart Typing
Automate Prometheus Configs/Deployment
Increase Test Coverage 🙏🏻
Reduce Resource Usage 🙏🏻
Deployment with cloud-hosting providers 🙏🏻
  • ✅ = Ready to use
  • ⏳ = In progress
  • 🙏🏻 = Looking for contributors

License

By contributing, you agree that your contributions will be licensed under Kubernautics’s MIT License.

GitHub

View Github