Welcome to KubeVX, an open-source solution crafted to enhance Kubernetes development with intuitive and efficient data presentation. Equipped with a user-friendly interface and powerful features, KubeVX simplifies Kubernetes complexities, allowing developers to focus sharply on optimizing application performance.
-
You will first see a login page. Go ahead and create an account.
-
Next, input data on your clusters so KubeVX can access it
- You should be able to see metrics graphs under Dashboard
- Cluster View features an AI chatbot powered by the OpenAI API. You will have to purchase an Open AI API key to use this feature. After purchasing, input your API key in this format "OPENAI_API_KEY={insert api Key}" in a .env file in your root folder. The logic to access this key is already built out at the top of AIController.js . The chatbot is programmed to only answer K8s related questions.
- This is the learn kubernetes page. Click around and see definitions of each term.
- You can use the custom metrics if you want to access specific information about your cluster that’s not displayed on the dashboard
- The logs provide information of your cluster’s status while running
- Alert page displays anomalies in your clusters so you can see what needs fixing
Make sure you have the requirements installed: MacOS, Homebrew, Helm, Docker, Minikube, Grafana, Prometheus.
Keep Docker running in the background.
First, clone our repo
- If you haven’t installed Helm, use homebrew:
brew install helm
- Run these commands to install prometheus and helm-charts:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install prometheus prometheus-community/prometheus
- This following command routes the port for Prometheus:
kubectl port-forward svc/prometheus-server 9090:80 -n default
- Run these two commands:
brew install grafana
brew services start grafana
- Open your web browser and navigate to http://localhost:3000/.
Log in with the default credentials:
Username: admin
Password: admin
Prometheus must be running on localhost:9090.
- Search import dashboard -> input 1860 -> chose Prometheus -> import
Repeat this step for 7249 and 8588.
- Run this command in your terminal:
sudo pico /opt/homebrew/etc/grafana/grafana.ini
If you have a Mac with the Intel chip, use this command instead:
sudo pico /usr/homebrew/etc/grafana/grafana.ini
- Scroll through the terminal with arrow keys to find the security section.
Set “allow_embedding = true” and make sure it is not commented out with a #.
Control + O to write out, press return/enter key to confirm and control + X to exit.
- Run this command for changes to take effect:
brew services restart grafana
- Go to http://localhost:3000/admin/settings on your browser to confirm.
Run “minikube start” in your terminal to initialize minikube. It may take a while if this is a first-time setup.
Now you need to apply the yaml files at the root directory of kubeVX:
Run the following commands in your terminal:
kubectl apply -f webapp-deployment.yaml
kubectl apply -f webapp-service.yaml
minikube service webapp-service
npm install
npm run build
npm run dev
Once you complete setting up, you can navigate to localhost:7070 in your browser to see the result.
Contributions play a vital role in the open-source community. Any contributions are greatly appreciated!
- Fork the project.
- Create and work off of your feature branch.
- Create a pull request with a detailed description of your changes from your feature branch to dev branch.
- Please let us know when PR submission is done. Once the changes are reviewed and approved, we will merge your code into the main repository.