Skip to main content
Mario Galán

Main navigation

  • Home
  • Contact
  • EN
  • ES
User account menu
  • Log in

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:

 

 

Tags

  • k0s
  • Traefik
  • nginx
  • kubernetes
  • Kubernetes Dashboard

Comments

About text formats

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
RSS feed
Powered by Drupal