Pasar al contenido principal
Mario Galán

Navegación principal

  • Inicio
  • Contact
  • ES
  • EN
Menú de cuenta de usuario
  • Iniciar sesión

Creando un cluster Kubernetes con k0s y Ceph - 6 - Kubernetes Dashboard

En el sexto capítulo de esta serie vamos a ver cómo instalar en nuestro cluster el Kubernetes Dashboard.

Kubernetes Dashboard es una interfaz web para gestionar un cluster. Desde esta interfaz podremos desplegar aplicaciones así como gestionar otros recursos del cluster como Deployments, Jobs, etc.

Existen otras muchas interfaces para Kubernetes tanto open source como comerciales pero Dashboard es la oficial y es suficientemente potente y versátil para nuestras necesidades.

Instalación

La instalación la haremos utilizando Helm que ya vimos como instalarlo y un uso básico en el anterior post de la serie.

En primer lugar tenemos que añadir el repositorio que contiene este chart:

helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/

Y desplegamos (o actualizamos) Kubernetes Dashboard en un nuevo namespace llamado kubernetes-dashboard.

helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard

El resultado de la ejecución será algo similar a este mensaje:

Para probar el despliegue podemos hacer uso de las instrucciones para crear un proxy usando kubectl. Como pretendemos tenerlo siempre desplegado usaremos un LoadBalancer que hemos creado previamente.

Creación de un servicio para el Dashboard

Utilizaremos la siguiente definición para crear un LoadBalancer para acceder a nuestro Kubernetes Dashboard:

apiVersion: v1
kind: Service
metadata:
  name: kubernetes-dashboard-loadbalancer
  namespace: kubernetes-dashboard # namespace:cluster
  labels:
    app: kubernetes-dashboard-loadbalancer
spec:
  ports:
    - name: dashboard
      port: 443
      protocol: TCP
      targetPort: 8443
  selector:
    app.kubernetes.io/component: app
    app.kubernetes.io/instance: kubernetes-dashboard
    app.kubernetes.io/name: kong
  type: LoadBalancer

Consultaremos la IP asignada al dashboard:

Accederemos a la IP asignada al LoadBalancer y tendríamos que ver los siguiente:

El servicio utiliza un certificado autogenerado que tendremos que aceptar. 

Creación del usuario y token

Para acceder al dashboard necesitaremos un usuario previamente creado que accederá con un token. Las instrucciones a seguir veremos los ficheros con la configuración a aplicar:

kubectl apply -f admin.yml -f auth.yml  -f long.yml

Y finalmente volcamos la contraseña ofuscada en base64 para obtener el token que deberemos utilizar en la autenticación

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

Copiamos el token y lo pegamos en el login:

Y si todo va bien accederemos finalmente a la aplicación:

 

 

Etiquetas

  • k0s
  • Traefik
  • nginx
  • kubernetes
  • Kubernetes Dashboard

Comentarios

Acerca de formatos de texto

Texto sin formato

  • No se permiten etiquetas HTML.
  • Saltos automáticos de líneas y de párrafos.
  • Las direcciones de correos electrónicos y páginas web se convierten en enlaces automáticamente.
Canal RSS
Funciona con Drupal