Servidor Couchbase

Couchbase Server en OpenShift Enterprise y Kubernetes - ¡¡¡Previsualización para desarrolladores disponible!!!

Nos complace anunciar la vista previa para desarrolladores del clúster de Couchbase Server en Red Hat OpenShift Enterprise, que se basa en Kubernetes.

Este proyecto fue una estrecha colaboración entre Couchbase, Red Hat, Amadeus y JetStack. Sesión conjunta sobre Despliegue de Couchbase en Red Hat OpenShift con Kubernetes StatefulSets en Amadeus se entregó en la Cumbre Red Hat el 3 de mayo de 2017.

¿Por qué Couchbase Server es la mejor opción para contenedores y Kubernetes?

Los contenedores se hacen eco de la tendencia de la industria hacia la arquitectura de microservicios, que implementa aplicaciones como una serie de componentes de software pequeños, autocontenidos y libremente acoplados. Couchbase Server, con su revolucionaria arquitectura de escalado multidimensional, te permite tratar las cargas de trabajo de tu base de datos de la misma manera. Con el escalado multidimensional (MDS), la carga de trabajo de la base de datos se divide en componentes de software autocontenidos y libremente acoplados, como servicios de datos, índices, consultas, búsquedas y (en el futuro) análisis.

El siguiente diagrama muestra un cluster de Couchbase Server con cuatro servicios en ejecución:

  • Servicio de datos: se encarga de las operaciones básicas de gestión de datos.
  • Servicio de índices: mantiene eficazmente los índices para una ejecución rápida de las consultas.
  • Servicio de consultas: se encarga del análisis sintáctico, la optimización y la ejecución de las consultas N1QL. Este servicio interactúa tanto con el servicio de indexación como con el servicio de datos para procesar las consultas y devolver los resultados a la aplicación solicitante.
  • Servicio de búsqueda: ofrece la posibilidad de crear índices de búsqueda de texto completo en documentos y consultarlos utilizando diversos métodos de indexación, analizadores de texto y lenguajes.

El escalado multidimensional tiene tres ventajas principales:

  • Cada servicio se puede escalar de forma independiente para adaptarse a la evolución de una aplicación, ya suponga un conjunto de datos creciente, la ampliación de los requisitos de indexación o el aumento de las necesidades de procesamiento de consultas.
  • Puede optar por adaptar las máquinas a sus cargas de trabajo. Por ejemplo, añadiendo más CPU a un nodo que ejecuta consultas.
  • Proporciona aislamiento de la carga de trabajo para que el servicio de consulta no interfiera con los servicios de índices o datos.

¿Cómo se ejecuta Couchbase Server en OpenShift?

La sabiduría convencional dice que no se puede ejecutar una base de datos en un contenedor. "¡Los contenedores no tienen estado!", dicen, y "¡las bases de datos no tienen sentido sin estado!". Eso ya no es cierto. Sólo necesitábamos la tecnología adecuada para soportar la ejecución de bases de datos en un contenedor.

Luego vino Kubernetes 1.5 que incluía el nuevo StatefulSet (en versiones anteriores, StatefulSet se conocía como PetSet). Con StatefulSets, Kubernetes facilita la ejecución de cargas de trabajo con estado, como las bases de datos. En esta vista previa para desarrolladores, el contenedor Couchbase se implementa utilizando el nuevo objeto API StatefulSets.

Couchbase Server StatefulSets en OpenShift

StatefulSet actualmente beta en Kubernetes 1.7 & avance técnico a partir de OpenShift 3.5. El StatefulSet proporciona identidad y almacenamiento únicos y estables a vainasy garantiza el orden de despliegue y el escalado. Esto contrasta con un Despliegue o ReplicaSet donde las réplicas de pods no mantienen la identidad durante el reinicio/reprogramación y pueden tener las mismas propiedades de almacenamiento de volumen. Por lo tanto, estos recursos son adecuados para aplicaciones sin estado.

Aprovisionamiento dinámico de volúmenes

El aprovisionamiento dinámico de volúmenes se introdujo por primera vez en Kubernetes 1.4  & avance tecnológico en Openshift 3.1.1y ahora GA en 3.3. Esta función permite que el almacenamiento se aprovisione dinámicamente "bajo demanda" en un entorno de nube compatible (por ejemplo, AWS, GCP, OpenStack). El controlador StatefulSet crea automáticamente solicitudes de almacenamiento (PersistentVolumeClaim - PVC) por pod, y se aprovisiona el almacenamiento (PersistentVolume - PV). La vinculación única 1 a 1 entre PV y PVC garantiza que un pod se reúna siempre con su mismo volumen, incluso si está programado en otro nodo en caso de fallo.

Couchbase Sidecar

Utilizando conceptos genéricos de StatefulSet y aprovisionamiento dinámico de volúmenes, OpenShift (o Kubernetes) se asegurará de que los pods correctos estén programados y funcionando. Sin embargo, no puede tener en cuenta los requisitos específicos de Couchbase Server en su proceso de toma de decisiones. Por ejemplo, el registro de nuevos nodos al escalar, el reequilibrio y también el manejo de la migración de datos en una escala hacia abajo o en caso de fallo del nodo. Los eventos de pod y nodo son bien conocidos por OpenShift (o Kubernetes), pero las acciones requeridas son específicas de la base de datos.

En esta vista previa para desarrolladores, las operaciones del ciclo de vida del clúster de Couchbase Server están integradas en un contenedor sidecar que es esencialmente un contenedor auxiliar que se sitúa junto a un contenedor estándar de Couchbase Server en un pod. El sidecar usa las APIs de OpenShift (o Kubernetes) y Couchbase Server para determinar el estado del clúster, y responderá de forma segura y apropiada a los eventos del clúster de Couchbase Server, como escalado/descenso y fallo de nodo.

Por ejemplo, el sidecar puede responder a los siguientes eventos:

  • Ampliación: el sidecar determina si el nodo es nuevo en el clúster, si se ha inicializado y unido al clúster y, a continuación, inicia un reequilibrio.
  • Reducción de escala: el sidecar ejecuta un apagado previo del contenedor y retira de forma segura el nodo del clúster, reequilibrando en caso necesario.
  • Disponibilidad: el sidecar se conecta al contenedor local de Couchbase Server y determina su estado. El resultado de la comprobación de disponibilidad se utiliza para determinar la disponibilidad del servicio en OpenShift.

¿Qué hay disponible en la Developer Preview?

Echemos un vistazo a lo que está disponible en esta vista previa para desarrolladores -

  • Contenedor Docker para Couchbase Server 4.6.2 para RHEL.
  • Definiciones de clúster de Couchbase Server que tienen -
    • Un contenedor Couchbase Server por pod
    • Selección del servicio Couchbase Server (datos, índice, consulta)
    • Cada tipo de pod de Couchbase Server tiene una especificación de recursos independiente (CPU, memoria)
  • Los grupos de servidores de Couchbase Server se configuran automáticamente en función de la zona de fallo del pod.
  • El contenedor Couchbase Server será eliminado del cluster cuando el número de pods en StatefulSets se reduzca.
  • Documentación

Agradecemos sus comentarios

Como siempre, nos gusta saber de ti. Los comentarios de la comunidad y de los primeros usuarios tienen una gran influencia en la dirección del producto. No dude en enviarme un correo electrónico directamente a anil@couchbase.com.

Referencias:

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Anil Kumar, Director de Gestión de Producto, Couchbase Cloud-Native Database

Anil Kumar es el Director de Gestión de Producto en Couchbase. La carrera de Anil abarca más de 19 años de creación de productos de software en varios dominios, incluyendo software empresarial y servicios en la nube. Es un líder de producto responsable de las líneas de producto Couchbase Server, Couchbase Cloud y Kubernetes, incluyendo la evangelización de la estrategia y visión del producto con clientes, socios, desarrolladores y analistas. Antes de unirse a Couchbase, Anil pasó varios años trabajando en Microsoft Redmond. Anil tiene un máster en informática por la Universidad de Toronto (Canadá) y una licenciatura en tecnología de la información por la Universidad Tecnológica Visvesvaraya (India).

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.