¿Que es Kubeapps?
Kubeapps es una interfaz de usuario basada en web para implementar y administrar aplicaciones en clústeres de Kubernetes
Antes de nada, debemos instalar helm, para ello lo podemos realizar de múltiples formas, brew o snap.
Instalación de brew
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
Agregamos /home/linuxbrew/.linuxbrew/bin/brew en nuestro path, para ello editamos /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/linuxbrew/.linuxbrew/bin/brew"
exportamos las variables
source /etc/environment && export PATH
Instalación de helm
Instalación mediante brew
brew install kubernetes-helm
Instalar helm mediante snap
sudo snap install helm --classic
Inicializamos el servicio
helm inithelm init --service-account tiller
helm init --service-account tiller
Agregamos el repositorio de bitnami e instalamos el servicio
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install --name kubeapps --namespace kubeapps bitnami/kubeapps
Creamos la API token para poder conectarnos
kubectl create serviceaccount kubeapps-operator
kubectl create clusterrolebinding kubeapps-operator --clusterrole=cluster-admin --serviceaccount=default:kubeapps-operator
Obtenemos la API token
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
Realizamos un forward del servicio
http://127.0.0.1:8080 export POD_NAME=$(kubectl get pods --namespace kubeapps -l "app=kubeapps" -o jsonpath="{.items[0].metadata.name}")
kubectl port-forward --namespace kubeapps $POD_NAME 8080:8080
Una vez realizado el forward ya podemos acceder mediante nuestro navegador.