Getting KubeApps installed
It is super simple to get started and we are going to start by adding the helm chart for KubeApps, again we already covered Helm and the benefits and ease this package manager brings well it makes life really easy when deploying KubeApps which will then act as the UI it seems at least to me to some of those Helm Charts. Lets start with the following command:
1
helm repo add bitnami https://charts.bitnami.com/bitnami
2
​
3
kubectl create namespace kubeapps
4
​
5
helm install kubeapps --namespace kubeapps bitnami/kubeapps
Copied!
the above command is going to add the helm repository and charts to your local machine, create a kubeapps namespace and then install that chart to your Kubernetes cluster and into that newly created namespace.
After running the above if we go and run kubectl get all -n kubeapps you will get the following output for all the components we have to build up KubeApps.
​
​
Continued
​
​
As you can see there is quite a lot happening above, you will also notice that on service/kubeapps service we are using a LoadBalancer port if we run the following command you can see the description of this service.
1
kubectl describe service/kubeapps -n kubeapps
Copied!
030621 2304 Buildingthe3
if you need to update your service configuration to the correct port type then you can do this by running the following command and changing the port type.
1
kubectl edit service/kubeapps -n kubeapps
Copied!
030621 2304 Buildingthe4
On my cluster I have the traefik loadbalancer. I had to change the type: Cluster to type: LoadBalancer
If you followed my previous posts you will know that rancher is running on port 80. Kubeapps needs to run on another port. In my case I changed
port: 80 to port: 8080
Ok, now either with your Load balancer IP or your node address you will be able to open a web browser.
1
kubectl get service/kubeapps -n kubeapps
Copied!
​
​
From the above, we need to navigate to http://192.168.169.242 in your web browser, and you should see the following page appear.
​
​
You will notice from the above we now need an API token so let’s go and grab that to get in. first of all for demo or home lab purposes we are going to create a service account and cluster role binding with the following commands.
1
kubectl create --namespace default serviceaccount kubeapps-operator
Copied!
1
kubectl create clusterrolebinding kubeapps-operator --clusterrole=cluster-admin --serviceaccount=default:kubeapps-operator
Copied!
then to get that API token we need the following command:
1
kubectl get secret $(kubectl get serviceaccount kubeapps-operator -o jsonpath='{range .secrets[*]}{.name}{"\n"}{end}' | grep kubeapps-operator-token) -o jsonpath='{.data.token}' -o go-template='{{.data.token | base64decode}}' && echo
Copied!
030621 2304 Buildingthe7
Last modified 5mo ago
Copy link