Hola a todos, bienvenidos a una nueva publicación acerca de Kasten by Veeam. En esta ocasión veremos como desplegar Kasten sobre una infraestructura Kubernetes on-premises, utilizando Ingress en vez de Load Balancers.
Lista de Materiales
En primer lugar, veamos lo que necesitamos:
- Una plataforma Kubernetes operativa y con una versión soportada
- En caso de estar utilizando Persistent Volumes (PV), el cluster de Kubernetes debe estar configurado con integración con alguno de los almacenamientos soportados por Kasten, o utilizando CSI Drivers. En nuestro caso, nuestros pods utilizan PVs sobre una cabina NetApp ONTAP, por lo que utilizaremos el CSI Driver de NetApp llamado Astra Trident.
- Un Kubernetes Ingress Controller ya instalado y configurado. En nuestro caso estaremos utilizando HAProxy Kubernetes Ingress Controller.
Pasos previos
Como ya hemos visto en publicaciónes anteriores, es necesario completar algunos pasos previos para verificar que se cumplen todos los pre-requisitos:
En primer lugar, debemos añadir el repositorio Kasten Helm usando el siguiente comando:
Luego, creamos el namespace donde instalaremos Kasten, en nuestro caso crearemos el Namespace llamado kasten-io
Finalmente, ejecutamos el siguiente comando en el cual se verificará que el cluster de Kubernetes cumple con todos los pre-requisitos para instalar Kasten, incluyendo la existencia de un CSI Driver y su correcta configuración:
Instalación de Kasten
Una vez completados los pasos previos, podemos avanzar en la instalación de Kasten K10, para lo cual ejecutaremos el siguiente comando:
En este comando vemos los siguientes parametros:
- Parametro que permite especificar el uso de un Ingress en vez de un Load Balancer, y que el Ingress Controller será HAProxy.
- set ingress.create=true –set ingress.class=haproxy
- Parametro opcional para especificar el Path que será utilizado en el Ingress
- set ingress.urlPath=”/k10″:
- set prometheus.server.baseURL=”/k10/prometheus/” \
- set prometheus.server.prefixURL=”/k10/prometheus/” \
- set grafana.prometheusPrefixURL=”/k10/prometheus/” \
- Parametro opcional para especificar el tipo de autenticación. En este caso, utilizaremos autenticación basada en tokens como hemos hecho previamente en otros ejemplos de instalación de Kasten.
- set auth.tokenAuth.enabled=true
Vemos que Kasten se ha instalado exitosamente, y que podemos acceder via browser siempre que el Ingress Controller esté funcionando adecuadamente. En mi caso, el Ingress Controller está configurado para recibir el trafico HTTP a través de los puerto 30000 de los workers, por lo que en el browser puero acceder a través de la siguiente dirección utilizando la IP de uno de los workers > http://172.20.10.134:30000/k10/#/
Podemos verificar los Services e Ingress creados en el cluster Kubernetes luego de la instalación:
Queda ahora obtener token para poder autenticarnos en Kasten K10 utilizando los siguientes comandos:
Copiamos el token de seguridad que nos entrega el comando, y lo pegamos en el navegador:
Con esto, completamos la instalación de Kasten, luego de lo cual podemos continuar con la configuración inicial de Kasten, para luego crear politicas de respaldo para proteger nuestras aplicaciones:
Como podemos ver, el proceso no es mucho más complejo que desplegar Kasten sobre plataformas de cloud gestionadas como AWS, Azure o GCP. Espero que les haya sido de utilidad, y nos vemos en otra ocasión!.
Get Social