Kasten K10 Multi-Cluster

En la ultima versión de Kasten, 3.0.1, podemos encontrar una serie de mejoras y una solución extremadamente importante, la administración centralizada de Múltiples Clusters de Kubernetes para una protección de datos completa, en este post veremos las características y funcionalidades de k10multicluster.

Introducción

Como vimos en un post anterior, es necesario que se realice la actualización a la ultima versión de Kasten k10, la puedes encontrar:

https://www.24xsiempre.com/actualizar-kasten-k10/

Luego de completar la actualización, podremos pasar a la configuración de k10 Multi-Cluster, donde, como siempre, debemos revisar la documentación oficial que podemos encontrar en:

https://docs.kasten.io/latest/multicluster/index.html

En este post nos centraremos en las bondades de la nueva solución, próximamente escribiré la guía de instalación que es muy sencilla. Por tanto, una de los requerimientos de k10multicluster es la utilización de Kubernetes contexts, donde en mi caso tengo:

kubectl config get-contexts

Donde puedes mantener la cantidad de cluster que necesites para la administración, por supuesto debe existir comunicación entre todos los Clusters.

Luego de eso puedes descargar el ejecutable k10multicluster desde

https://github.com/kastenhq/external-tools/releases

Kasten k10 Multi-Cluster utiliza la asignación de clusters Primarios (Primary ) y Secundarios (Secondaries), donde siempre existirá solo 1 primario y los demás que se agreguen serán secundarios, por tanto, debes seleccionar cual será tu cluster primario para luego agregar los secundarios fácilmente. En mi caso usaré el context [email protected] como primario.

En la imagen anterior observamos el Dashboard de Multi-Cluster con la configuración del cluster “Producción” y “Desarrollo”, aquí es donde revisaremos las opciones más importantes que ofrece esta gran solución.

Recursos Globales

Una de las grandes ventajas es que nos permite crear recursos para todos los clusters o asignar solo algunos recursos a ciertos clusters, por ejemplo, como ya hemos visto en post anteriores, Kasten k10 siempre necesita “Location Profiles” o perfiles donde almacenaremos los datos en object storage que puedes usar:

  • Google Cloud Storage
  • Amazon S3
  • Azure Storage
  • S3 Compatible

Así podrás mantener separados los recursos que necesiten tus distintos Clusters de Kubernetes. Como también Kasten k10 requiere las “Policies” o Políticas de respaldo las cuales puedes asignar globalmente, aun así cada instalación de Kasten k10 puede tener sus propias políticas si es necesario

Y por ultimo la asignación de “Distributions” o distribución de los recursos globales que se puedan asignar a cada uno de los clusters o compartir los mismos recursos:

Y aquí en donde ocurre lo importante, por que lo que vimos anteriormente sobre “Location Profiles” y “Policies” ya lo hemos usado en las instalaciones normales de Kasten k10, pero en este caso, “Distributions” aparece para asignar y sincronizar los recursos y políticas a los clusters de Kubernetes que necesitamos realizar la protección de datos, por ejemplo:

La distribución “wpprd” que es para proteger una instancia de wordpress y su respectivo MySQL tiene asignado un bucket en S3 llamado kastenprod con la respectiva política de respaldo y agendamiento de ejecución para el cluster productivo. Inclusive si ingresamos a la isntancia de Kasten k10 de producción podremos ver:

La cual no se puede editar directamente desde la instancia productiva, solo se puede editar desde los recursos globales.

En un próximo post, explicaré como instalar y configurar paso a paso esta herramienta!