Kubernetes · 4 min read · Feb 03, 2026

Interfaz Web del Panel de Kubernetes

El panel de Kubernetes proporciona una interfaz web para el clúster. Se pueden desplegar aplicaciones en el clúster utilizando el panel, así como solucionar problemas de las aplicaciones existentes en el clúster. El panel también proporciona información sobre los recursos en el clúster. El panel es proporcionado oficialmente por Kubernetes. Se pueden crear, modificar, actualizar y eliminar objetos de Kubernetes utilizando el panel.

En este artículo, instalaremos el panel oficial proporcionado por Kubernetes y configuraremos una cuenta de servicio para acceder a él. Antes de continuar con este artículo, se asume que estás familiarizado con Kubernetes y que tienes un clúster de Kubernetes.

Requisitos previos

  1. Clúster de Kubernetes con al menos 1 nodo trabajador.
    Si deseas aprender a crear un clúster de Kubernetes, haz clic aquí. Esta guía te ayudará a crear un clúster de Kubernetes con 1 Maestro y 2 Nodos Trabajadores en Instancias EC2 de AWS Ubuntu 18.04.
  2. Conocimiento básico de Kubernetes.

¿Qué haremos?

  1. Desplegar el Panel de Kubernetes.
  2. Configurar una ServiceAccount para acceder al Panel de Kubernetes.
  3. Acceder al Panel de Kubernetes.

Desplegar el Panel de Kubernetes

Para desplegar el panel de Kubernetes, podemos descargar su archivo de objeto desde Github. Usa el siguiente comando para descargar el archivo de objeto. Este archivo contiene definiciones para Namespace, ServiceAccount, Service, Secret, ConfigMap, Role, ClusterRole, RoleBinding, ClusterRoleBinding, Deployment y Service.

pwd
wget https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml

Descargar plantillas

Renombra el archivo y cambia el tipo de servicio a NodePort. Consulta la siguiente captura de pantalla.

mv recommended.yaml kubernetes-dashboard-deployment.yml
vim kubernetes-dashboard-deployment.yml

Cambiar tipo de servicio a NodePort

Una vez que hayas cambiado el tipo de servicio a NodePort, es hora de crear todos los objetos responsables de desplegar el panel de Kubernetes.

kubectl apply -f kubernetes-dashboard-deployment.yml

Verifica el despliegue, Pod y Servicio que se han creado con el comando anterior. El comando anterior también crea Namespace, ServiceAccount, Service, Secret, ConfigMap, Role, ClusterRole, RoleBinding, ClusterRoleBinding, Deployment y Service.

kubectl get deployments -n kubernetes-dashboard
kubectl get svc
kubectl get pods
kubectl get pods -n kubernetes-dashboard
kubectl get svc -n kubernetes-dashboard  

Crear objetos de Kubernetes para el panel

En la captura de pantalla anterior, puedes ver que el Servicio del Panel de Kubernetes con el tipo “NodePort” ha sido creado. Esto significa que el panel estará disponible en cualquiera de las IPs de los nodos en NodePort “32304”. Puede que veas un puerto diferente para el servicio en tu clúster.

Usa el siguiente comando para obtener las IPs de tus nodos que necesitarás en los pasos posteriores.

kubectl get nodes -o wide

Configurar una ServiceAccount para acceder al Panel de Kubernetes

Para acceder al Panel de Kubernetes necesitas tener un token. Para crear un token primero necesitamos crear una ServiceAccount.

Crea un nuevo archivo y agrega el siguiente contenido para crear una ServiceAccount. También puedes descargar el archivo de objeto desde mi repositorio de Github.

vim admin-sa.yml
cat admin-sa.yml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: rahul-admin
  namespace: kube-system

Una vez que tengas el archivo de objeto, ejecuta el siguiente comando para crear una ServiceAccount.

kubectl apply -f admin-sa.yml

Crear una cuenta de servicio

Ahora necesitas asociar la ServiceAccount “rahul-admin” al rol de clúster “cluster-admin”. Crea un nuevo archivo con el siguiente contenido para crear un ClusterRoleBinding o haz clic aquí para descargar el archivo de objeto desde mi repositorio de Github.

vim admin-rbac.yml
cat admin-rbac.yml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: rahul-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: rahul-admin
    namespace: kube-system  

Ejecuta el siguiente comando para crear un “ClusterRoleBinding”.

kubectl apply -f admin-rbac.yml

Crear un ClusterRoleBinding

Ahora tenemos un “ClusterRole” –> “cluster-admin” vinculado a la “ServiceAccount” –> “rahul-admin”.

Estamos listos para obtener el token que se utilizará para iniciar sesión en el panel de Kubernetes. Para obtener el token, ejecuta los siguientes comandos.

SA_NAME="rahul-admin"
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep ${SA_NAME} | awk '{print $1}')

Obtener el token

En la captura de pantalla anterior, puedes ver un token que se utilizará para iniciar sesión en el panel de Kubernetes. Copia este token y accede a la URL del panel en “NodeIP:NodePort”.

Aquí, NodeIP es la IP de cualquiera de los nodos en el clúster y NodePort es el puerto (en este caso es 32304, en tu caso puede que tengas un puerto diferente) del servicio que creamos.

Una vez que accedas a la URL “NodeIP:NodePort”, verás una pantalla como la siguiente. Aquí, selecciona la opción “Token”, ingresa el token que obtuvimos en el paso anterior y haz clic en el botón “Iniciar sesión”.

Acceder al Panel de Kubernetes

Acceder al panel en IP:NodePort

Una vez que inicies sesión con éxito, deberías ver el Panel de Kubernetes como sigue.

El panel - Namespace por defecto

En la parte superior de la pantalla, incluso puedes cambiar el Namespace y ver los recursos en él. Ahora estás listo para explorar el Panel de Kubernetes.

El panel - Namespace kubernetes-dashboard

Conclusión

En este artículo, desplegamos todos los objetos necesarios de Kubernetes para tener el panel en el clúster. Creamos una ServiceAccount y un ClusterRoleBinding para tener un token para acceder al panel de Kubernetes, ya que no se puede acceder simplemente. El panel puede ayudarte a comprender el clúster y ver todos los objetos que tiene en él.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.