El operador autónomo Couchbase es un operador de Kubernetes que proporciona integración nativa en la nube con Kubernetes de código abierto y Red Hat Openshift. Permite a un usuario utilizar la funcionalidad declarativa de Kubernetes para definir lo que será el clúster de Couchbase Server y gestionar los atributos de ese clúster. Esta funcionalidad declarativa es útil ya que permite almacenar las definiciones del entorno en el control de código fuente.

El objetivo del operador es gestionar completamente uno o más despliegues de Couchbase Server. Gestiona el ciclo de vida del cluster (aprovisionamiento, escalado, actualización, auto-recuperación) y la configuración (volúmenes persistentes, grupos de servidores, XDCR, TLS, RBAC, backup/restore). El operador es una potente herramienta en la gestión de un entorno Couchbase a gran escala y es muy recomendable que leas el documento Documentación del operador de Couchbase.

Cloud-native Automation with Couchbase Documentation

Guardar y restaurar: Cómo migrar una topología no gestionada

Añadimos el Guardar y Restaurar Característica en Couchbase Autonomous Operator v2.3. Esta característica permite a los usuarios migrar un no gestionado Couchbase Cluster y convertirlo en un gestionado cluster. Esta funcionalidad permite sondear un cluster Couchbase creado por el operador autónomo con topología de datos no gestionada y recuperar un archivo YAML de topología de datos que coincida con la topología de datos actual de ese cluster Couchbase. Un usuario puede tomar este archivo YAML de despliegue y aplicarlo al cluster existente para bloquear la topología o aplicarlo a un nuevo entorno de cluster para migrar el entorno. 

Los casos de uso de esta función son numerosos. Aun así, en el que nos centraremos en este post es la migración de un entorno desde una topología de datos gestionada manualmente en un entorno R/D rápido/ágil a un entorno de producción más estable.

Tanto si eres nuevo en Couchbase como un profesional experimentado, el nuevo Guardar y restaurar de Couchbase Autonomous Operator simplifica significativamente tu proceso CI/CD. Ser capaz de pasar fácilmente de un clúster no gestionado a un clúster gestionado te permite continuar con el desarrollo a un ritmo rápido mientras mantienes el control de los entornos a lo largo del proceso.

Demostración de la migración del esquema de un clúster Couchbase  

Para demostrar esta funcionalidad, primero tenemos que crear un clúster de servidores Couchbase en Kubernetes en un estado no gestionado. Usaremos este unmanaged.yaml file:

Para crear este clúster, utilice el comando: Esto crea un cluster simple no gestionado con todos los servicios, pero desactiva la gestión de buckets y RBAC. También incluye un secreto para acceder al cluster con un nombre de usuario de Administrador y una contraseña de contraseña

Para acceder a este cluster, port-forward el puerto 8091 para que podamos acceder al servidor Couchbase Admin UI sólo para el acceso rápido de desarrollo. Si quieres acceder al puerto de administración con regularidad, consulta la documentación sobre la configuración de un puerto balanceador de carga. 

Para crear este reenvío de puertos, utilice el comando: 

Ahora podemos acceder a la interfaz web en el puerto 8091 utilizando las credenciales de administrador y, a continuación, crear algunos buckets, ámbitos y colecciones. En este ejemplo, creamos un BlogApp cubo, con un margen para es-US y algunas colecciones dentro de ese ámbito.

A continuación, añadimos el ámbito para es-US.

Add scope to Couchbase Kubernetes Operator

Por último, añadimos el Blogs colecciones.

Add collection to Couchbase Autonomous Operator Kubernetes

Ahora tenemos una estructura de árbol con este aspecto:

Una vez que tenemos nuestra topología de datos, podemos generar un archivo YAML utilizando la función cao binario con el comando:

Esto mostrará nuestro topology.yaml:

Clonación de una topología de clúster

Con el fichero de topología podemos ahora restaurarlo en otro cluster, clonando la estructura en un nuevo entorno. Para ello, cree un archivo managed.yaml con este contenido:

A continuación, creamos el clúster gestionado mediante: Esto es similar a nuestro unmanaged.yamlpero, en su lugar, los cubos son gestionado y reutilizamos nuestro secreto del clúster no gestionado. 

Restauración de la topología en el clúster gestionado

Una vez que el clúster se haya puesto en marcha, puede utilizar la función cao binario para restaurar la topología YAML en el clúster gestionado recién creado:

Restoring managed cluster topology with YAML file for migration
Por último, para verificar, crearemos un simple port-forward al nuevo cluster gestionado y verificaremos la topología de datos. Utilice el siguiente comando para crear el port-forward y abra su navegador a http://127.0.0.1:8091.  

Debería aparecer la topología de datos adecuada.

Confirm schema migration by viewing scopes and collection in Couchbase

Ahora que hemos migrado la topología de datos, es posible que queramos migrar los datos de un entorno a otro. Recomiendo utilizar Replicación entre centros de datos (XDCR) para facilitar el movimiento de datos de un cluster a otro. Puede encontrar más información sobre la configuración de XDCR en la página Documentación del operador Couchbase.

Próximos pasos y recursos

Algunas cosas a tener en cuenta:

    • Guardar no guarda los roles/grupos RBAC. Tendrá que migrarlos por su cuenta.
    • En cao le informará de todos los cambios que debe realizar en el clúster de destino. Cualquier elemento marcado como borrar se borrará, lo que puede provocar la pérdida de datos.

En este post se trataron los siguientes temas:

 

Autor

Publicado por Justin Ashworth - Ingeniero superior de software

Dejar una respuesta