Skip to content

KuView is an open-source tool offers a customizable, interactive dashboard to track and monitor local Kubernetes clusters with real-time metrics in a user-friendly UI.

License

Notifications You must be signed in to change notification settings

oslabs-beta/KuView

Repository files navigation

Introduction

KuView is an open-source tool for simplified Kubernetes metric visualization. It offers a customizable, interactive dashboard to track and monitor local Kubernetes clusters with real-time metrics in a user-friendly UI.

Prerequisites

This application requires you to have Docker, Minikube, and Kubectl installed in order to view your local kubernetes cluster. Please download based on your operating system from the official website or Github releases.

After these are installed, start Minikube with Docker:

  • Open a terminal or command prompt and run minikube start --driver=docker. This will start the local Minikube cluster using Docker as the driver.
  • To verify the status of your Minikube cluster, run minikube status.
  • To interact with your minikube cluster, use the kubectl command line interface tools
  • To stop and delete your Minikube cluster, you can run the commands minikube stop and minikube delete.

Getting Started

To get started with opening the web application, first clone this repo onto your machine. In order to have the application work, you will need to create an .env file to store your mongo-URI and a port for the express server to run on. Within your .env file please type the following:

MONGO_URI = '<mongodb URI>';
PORT = 4000;

Once that file is created, open the terminal and install all the packages with

npm install

then type in

npm run dev

On your browser, localhost:8080 should appear, and you are now running our application!

If this is your first time using the application, you will need to register an account. If you have already have an account, proceed with logging in.

Once you type in your username, password, and email, the application will direct you to login.

Installation

After typing in your credentials and logging in, our application will automatically handle the installation of Prometheus and Grafana on your Kubernetes cluster through helm and apply our custom .yaml files.

We would highly recommend installing HomeBrew manually before using KuView to avoid possible installation issues.

The dashboard will be saved onto your account and be displayed afterwards.

You can now view your cluster metrics in real-time, and the dashboard will update automatically. Feel free to personalize the dashboard and rearrange the layout to your preference!

Considerations

As KuView is still early in it's development stage, there are a few things to keep in mind when using this application.

Port

KuView requires a number of defult ports to operate. Please avoid using the ports listed below.

For more information, execute the following command in your terminal kubectl get services after login for the first time.

Port Application
8080 Kuview Dashboard
4000 Express
9090 Prometheus
3000 Grafana

Accounts

  • If a new account is created, any old account will have an issue loading the dashboard. This is due to a conflict in Grafana. Upon a new user login, KuView creates/overrides the existing Grafana dashboard and assigns it a new ID. for a smooth experience, please only use one account or the newest account created.

  • We currently have an issue relaunching the Node server due to a persistent cookie after shutting down the app. This is because the Login page redirects to the dashboard without port forwarding. For a smooth experience, please either logout before killing the Node server or delete the cookie if you do encounter this issue.

Open Source

If you would like to contribute and make KuView a better Open Source Project, we welcome you with open arms.

Below lists a table of features we currently have and future plans.

Feature Status
Automate installation 🎉
Grafana yaml config 🎉
Custom dashboard 🎉
Password ecryption 🎉
Jest Front-end Testing 🎉
Jest Back-end Testing
Typescript conversion
Alert System 🙌
Node health Visualizer 🙌
Cluster Visualizer 🙌
  • 🎉 = Completed!
  • ⏳ = In Development!
  • 🙌 = Open for Contribution!

Creators

Creators GitHub LinkedIn
Cameron Kirksey github github
Eric Esposito github github
Eric Rennie github github
Jason Yeung github github
Richard Dao github github

About

KuView is an open-source tool offers a customizable, interactive dashboard to track and monitor local Kubernetes clusters with real-time metrics in a user-friendly UI.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published