Crea, ejecuta y gestiona aplicaciones con Red Hat OpenShift en IBM Cloud. | 22 al 24 de Junio Inscríbete ya

Implemente una base de datos escalable de Apache Cassandra en Kubernetes

Resumen

Las empresas de hoy en día están reuniendo, almacenando y analizando grandes cantidades de datos. Apache Cassandra es una base de datos NoSQL de código abierto, escalable y que es perfecta para gestionar grandes cantidades de datos estructurados, semiestructurados y no estructurados entre varios centros de datos, servidores básicos y la nube. Kubernetes es el sistema de gestión de contenedores más popular del mundo, está clasificado como uno de los proyectos más activos de GitHub. En este Code Patterns, aprenderá cómo combinar esos dos potentes sistemas desplegando una implementación de Cassandra nativo en la nube en Kubernetes.

Descripción

Este Code Patterns muestra la potencia de los clústers de Kubernetes. Le muestra cómo puede implementar Apache Cassandra, la base de datos NoSQL más popular del mundo, sobre la plataforma de gestión de contenedores más popular del mundo, Kubernetes. Descubrirá la hoja de ruta completa de la implementación para un clúster multinodo y escalable de Cassandra desde clústeres de IBM Cloud Container Service Kubernetes. Cada componente de Cassandra se ejecuta en un contenedor separado o en un grupo de contenedores.

Con el sistema distribuido de Apache Cassandra, usted puede implementar grandes cantidades de nodos entre varios centros de datos. La arquitectura distribuida de Cassandra está específicamente ajustada para la implementación en multiple centro de datos, la redundancia, la conmutación por error y la recuperación de desastres. Todas estas funciones juntas hacen que sea un candidato ideal para una plataforma de gestión de contenedores, y le dará todas las ventajas de la automatización, operación, escalabilidad y el monitoreo.

Flujo

Diagrama de las etapas para crear la aplicación

  1. El desarrollador crea un servicio headless. Un servicio de Kubernetes es una abstracción que define un conjunto lógico de contenedores y unas políticas para acceder a ellos. El servicio headless de Cassandra se utiliza para la formación del clúster de Cassandra y para el descubrimiento de “semillas”.
  2. El desarrollador crea un Kubernetes ReplicationController, que es responsable de la creación y el escalado de nodos de contenedores de clústeres no persistentes de Cassandra. Una vez que el desarrollador verifica que se ha creado un único nodo de Cassandra, puede escalar el clúster de Cassandra añadiendo más nodos en ReplicationController.
  3. Para crear nodos de Cassandra persistentes, el desarrollador suministra volúmenes persistentes utilizando Static provisioning, creando volúmenes mediante los archivos proporcionados. El desarrollador crea el mismo número de PersistentVolumes que de nodos de Cassandra.
  4. El desarrollador utiliza Kubernetes StatefulSets para crear contenedores de nodos de clústeres persistentes de Cassandra. StatefulSet es responsable por la implementación ordenada, de la finalización ordenada y de los nombres de red únicos.
  5. El desarrollador utiliza Cassandra Query Language (CQL) para crear y actualizar una tabla Employee en el Cassandra Keyspace.

Instrucciones

Encuentre los datos detallados para este patrón en README.

Aviso

El contenido aquí presentado fue traducido de la página IBM Developer US. Puede revisar el contenido original en este link.