Skip to main content

Dashboard UI

image.png

Deploy and Access the Kubernetes Dashboard | Kubernetes

Kubernetes Dashboard es una interfaz de usuario de Kubernetes basada en la web. Se puede usar para implementar aplicaciones en contenedores en un clúster de Kubernetes, solucionar problemas de aplicación en contenedores y administrar los recursos del clúster.

Actualmente, Kubernetes Dashboard solo admite la instalación basada en Helm, ya que es más rápido y nos brinda un mejor control sobre todas las dependencias que requiere Dashboard para ejecutarse.

Helm | Installing Helm

Helm tiene un script de instalación que automáticamente descargará la última versión de Helm y la instalará localmente.

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

Desplegando Dashboard UI

# añade el repositorio de kubernetes-dashboard 
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
# Despliega una versión de Helm Release llamada "kubernetes-dashboard"
helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard
# uninstall/delete kubernetes-dashboard
helm delete kubernetes-dashboard

Acceder al panel de control de Kubernetes

Para acceder al panel de control de Kubernetes desde la red externa, deberá exponerlo mediante el método de reenvío de puertos. Ejecute el siguiente comando para exponer el panel de control de Kubernetes:

kubectl port-forward -n kubernetes-dashboard service/kubernetes-dashboard-kong-proxy 8443:443 --address 0.0.0.0 &

Ahora, abre tu navegador web y accede al panel de control de Kubernetes mediante la URL https://server-ip:10443. Se te solicitará que ingreses un token para iniciar sesión. Por lo tanto, necesitaremos crear una cuenta de servicio, un enlace de rol de clúster y un secreto, y luego obtener el token del secreto.

Creando usuario

dashboard/docs/user/access-control/creating-sample-user.md at master · kubernetes/dashboard · GitHub

vi dashboard-adminuser.yaml
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
---
apiVersion: v1
kind: Secret
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/service-account.name: "admin-user"
type: kubernetes.io/service-account-token
kubectl apply -f dashboard-adminuser.yaml

Obtener el token de acceso

kubectl get secret admin-user -n kubernetes-dashboard -o jsonpath={".data.token"} | base64 -d