Introducción
Kubernetes Dashboard es una interfaz de usuario basada en web que simplifica la gestión y el monitoreo de clústeres de Kubernetes. Proporciona una forma intuitiva de desplegar y gestionar aplicaciones, así como de ver y analizar los recursos del clúster. Este laboratorio (lab) te guiará a través del proceso de desplegar y acceder a Kubernetes Dashboard.
Iniciar el clúster de Kubernetes
Antes de desplegar el Kubernetes Dashboard, asegúrate de que tu clúster esté en funcionamiento. Usaremos Minikube para este laboratorio (lab).
Abre una terminal y navega hasta el directorio del proyecto:
cd ~/projectInicia el clúster de Minikube:
minikube startMinikube crea un clúster local de Kubernetes, lo que facilita probar características como el Dashboard. La configuración puede tomar unos minutos.
Verifica que Minikube esté en funcionamiento comprobando su estado:
minikube statusSi el clúster no está en funcionamiento, reinícialo con
minikube deleteseguido deminikube start.
Desplegar el Kubernetes Dashboard
El Kubernetes Dashboard no está incluido por defecto en el clúster. Desplegalo utilizando el archivo YAML de despliegue oficial.
Ejecuta el siguiente comando para desplegar el Dashboard:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yamlEste comando crea todos los recursos necesarios para el Dashboard, incluyendo un Despliegue (Deployment), un Servicio (Service) y configuraciones de Control de Acceso Basado en Roles (Role-Based Access Control, RBAC).
Verifica que el Dashboard esté en funcionamiento:
kubectl get pods -n kubernetes-dashboardBusca un pod con el nombre
kubernetes-dashboardy asegúrate de que su estado seaRunning(En ejecución).Verifica el espacio de nombres (namespace) para el Dashboard:
kubectl get ns | grep kubernetes-dashboardEl espacio de nombres
kubernetes-dashboarddebe existir.
Crear una cuenta de servicio y una asignación de roles (Role Binding)
Por defecto, el Kubernetes Dashboard restringe el acceso. Para iniciar sesión con privilegios de administrador, necesitas crear una cuenta de servicio y vincularla a un rol de clúster.
Crea un archivo llamado
dashboard-admin.yaml:nano ~/project/dashboard-admin.yamlAgrega el siguiente contenido al archivo:
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
Este archivo define una cuenta de servicio admin-user y le otorga privilegios de administrador en todo el clúster.
Presiona Ctrl+X, Y, luego Enter para guardar el archivo.
Aplica la configuración:
kubectl apply -f dashboard-admin.yamlVerifica la cuenta de servicio y la asignación de roles:
kubectl get sa -n kubernetes-dashboardDeberías ver la cuenta de servicio
admin-useren la lista.kubectl get clusterrolebindingDeberías ver la asignación de roles de clúster
admin-useren la lista.
Acceder al Kubernetes Dashboard
Ahora que el Dashboard está en funcionamiento y se han configurado los permisos, accede a él a través de un navegador.
Genera un token de inicio de sesión:
kubectl -n kubernetes-dashboard create token admin-userCopia el token generado. Este se utilizará para iniciar sesión.
Edita el Servicio (Service) del Dashboard para exponerlo en un NodePort:
kubectl edit service -n kubernetes-dashboard kubernetes-dashboardEncuentra el campo
typebajospecy cambia su valor aNodePort. Guarda y sale.

Encuentra el NodePort asignado al Dashboard:
kubectl get service -n kubernetes-dashboardNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE dashboard-metrics-scraper ClusterIP 10.104.164.172 <none> 8000/TCP 20m kubernetes-dashboard NodePort 10.108.222.153 <none> 443:30587/TCP 20mAnota el número de puerto que aparece en la columna
PORT(S)(por ejemplo,30587). Este es el puerto que utilizarás para acceder al Dashboard.Obtén la dirección IP del nodo:
kubectl get node -o wideNAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME minikube Ready control-plane 35m v1.26.1 192.168.58.2 <none> Ubuntu 20.04.5 LTS 5.15.0-56-generic docker://20.10.23La columna
INTERNAL-IPproporciona la dirección IP del nodo.Abre el navegador Firefox en el escritorio y navega a la siguiente URL:
https://<node-ip>:<node-port>Reemplaza
<node-ip>con la dirección IP del nodo y<node-port>con el puerto del Paso 3.

- Si se muestra una advertencia de seguridad, continúa seleccionando "Avanzado" y luego "Aceptar el riesgo y continuar".

- En la página de inicio de sesión, selecciona la opción Token, pega (haz clic derecho) el token del Paso 1 y haz clic en "Iniciar sesión".

Ahora deberías haber iniciado sesión en el Kubernetes Dashboard, donde puedes explorar los recursos del clúster y gestionar las cargas de trabajo.

Resumen
En este laboratorio (lab), aprendiste cómo:
- Desplegar el Kubernetes Dashboard en un clúster local.
- Crear una cuenta de servicio y vincularla a un rol de clúster para acceder con privilegios de administrador.
- Acceder al Dashboard a través de un navegador utilizando un servicio NodePort.
Con el Kubernetes Dashboard, puedes gestionar aplicaciones visualmente, monitorear recursos y explorar la configuración del clúster. Esta herramienta simplifica las operaciones de Kubernetes, especialmente para los principiantes que están pasando de flujos de trabajo basados en la línea de comandos. ¡Sigue explorando sus características para aprovechar al máximo tu entorno de Kubernetes!


