Kubernetes tools
En este post mostraremos como instalar herramientas visuales para kubernetes.
Requisitos
Tener un entorno de kubernetes con minikube
Instalando un dashboard gráfico para kubernetes
Cuando estamos desarrollando con un panorama de kubernetes es complejo ver cada uno de las piezas que la van formando para eso podemos instalar un dashboard que nos ayude a poder ver y analizar de forma gráfica todo el entorno.
Esta herramienta solo es recomendable solo para entorno de desarrollo ya que utiliza un superusuario con acceso a todo, y esto en producción se torna en un riesgo de seguridad.
-
Iniciando aplicamos un deployment
1
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
-
Creamos el usuario
admin-user
con un rol de administrador con el archivoadmin_user.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
--- apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kubernetes-dashboard
1
$ kubectl apply -f admin_user.yaml
-
Creamos un token para el usuario
admin-user
, este token funciona por un tiempo limitado así que si caduca solo hay que volver a generarlo1
$ kubectl -n kubernetes-dashboard create token admin-user
-
Abrimos el túnel y este a su vez lanza una aplicación, mientras este proceso está activo podrás ver tu dashboard
1 2 3 4
$ kubectl proxy Starting to serve on 127.0.0.1:8001
Abrimos la página y agregamos el token generado anteriormente.
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Instalando kubeview
Cuando queremos ver como están entrelazado nuestros pods, servicios y balanceadores kubeview es la pieza que necesitamos
-
Instalamos helm si no lo tienes instalado
1 2 3
$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 $ chmod 700 get_helm.sh $ ./get_helm.sh
- descargamos el repositorio
1 2 3
$ git clone https://github.com/benc-uk/kubeview $ cd kubeview/charts/ $ helm install kubeview kubeview
-
hacemos un forward para poder ver el sitio
1
$ kubectl port-forward svc/kubeview -n default 8080:80