⚡️A pretty swell Kubernetes visualization tool
⚓️⚡️🔦
Allok8 is a dynamic, conventional, and uncomplicated Kubernetes visualization tool. Current tooling only enables resource portraits at the pod level. When the application adds layers of complexity, it is advantageous to visualize when pods have multiple containers. This enables users to manage resource levels, navigate clusters, and display all relevant information down to the container level.
The standard practice of one container per pod works most of the time because it lends to better portability, but when containers are interdependent, keeping track of the resource utilization is sparse. Allok8 wishes to showcase that hidden data in hopes of empowering users to further synthesize their K8s implementation.
Further data within containers that is provided (but not limited to):
🏗⚙️🛠
In order to access the dashboard, the user must input the K8s cluster API and token which is typically provided by the system administrator. If you need more information to obtain this, we've provided additional instructions on our landing page.
To check the location and credentials that kubectl knows about, use the following command:
kubectl config view
Alternatively, you can refer to the offical K8s documents for more information.
To access a cluster, you would need the location of the cluster and have credentials to access it. Once aquired, simply type in the credentials in the input fields provided, hit fetch, and enjoy! ~
🗺📙📊
Minikube Installation
Minikube Start
minikube start --driver=hyperkit
Minikube Start for test with applications that use ingress-nginx
minikube start
minikube addons enable ingress
Note for Minikube Users and the Docker Driver
Recent versions of Minikube will use the docker driver by default when you run minikube start. On Windows or macOS, the docker driver is not compatible with an ingress, which we will be using throughout the course.
https://minikube.sigs.k8s.io/docs/drivers/docker/#known-issues
https://github.com/kubernetes/minikube/issues/7332
To avoid this issue, you can pass the --driver
flag with a specific driver or --vm=true
macOS
minikube start --vm=true
or
minikube start --driver=hyperkit
or
minikube start --driver=virtualbox
Windows:
minikube start --vm=true
or
minikube start --driver=hyperv
or
minikube start --driver=virtualbox
https://github.com/kubernetes/minikube/issues/7332
Enable Addons
minikube addons enable metrics-server
Deployment
kubectl apply -f metrics-server-yaml/
kubectl apply -f deploy.yaml
kubectl apply -f yourApplicationsYamls.yaml
kubectl get pods -A
kubectl get svc -A
Usage
npm install
npm run build
npm start
http://localhost:3000
npm run dev
Click on GET API/ TOKEN
Copy and paste approriate string into terminal concatenating 'echo' on beginning of command
echo $(kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}')
echo $(kubectl get secret $(kubectl get serviceaccount default -o jsonpath='{.secrets[0].name}') -o jsonpath='{.data.token}' | base64 --decode )
Enter API and TOKEN into Allok8
Allow for time as server will aggregate data
Refresh page enter API and TOKEN into Allok8 again
Enjoy your data!
🕊💫👋
We love feedback! We are always looking to improve. For major changes, please open an issue first to discuss what you would like to change, pull requests are welcome.
🧰🚢🐳
✏️👩💻👨💻📓
Previous Authors:
🔖⛴