Servidor Couchbase

Couchbase como servicio: Joyent Triton

Cuando estoy en eventos y conferencias siempre me preguntan cuánto cobra Couchbase por el alojamiento. La respuesta sencilla es que Couchbase es
una empresa de software y no de alojamiento, pero eso no significa que no puedas alojar Couchbase a través de algún otro servicio. Hay Couchbase
imágenes disponibles en servicios como Amazon Web Services (AWS), Azure, Joyent y muchos otros.

En concreto, vamos a ver cómo alojar Couchbase Server en Triton de Joyent con Docker.

Antecedentes de Joyent y Triton

Si no conoce Joyent, se trata de una empresa de software y servicios especializada en nubes públicas y privadas orientadas al rendimiento.
informática. Con el servicio Triton de Joyent, puede "...desplegar y operar contenedores de forma segura con velocidad bare metal en
infraestructura nativa de contenedores". Algunas de las ventajas de ejecutar contenedores Docker en Triton son:

  • Sus contenedores se ejecutan sobre metal desnudo, eliminando la sobrecarga de virtualización a nivel de hardware. En otras palabras, experimentará
    Mejora significativa del rendimiento.
  • Cada contenedor tiene su propia dirección IP, lo que facilita la conexión en red entre contenedores.
  • Puede redimensionar sus contenedores Docker sin tiempo de inactividad.

Requisitos

Dado que vamos a poner en marcha un clúster de Couchbase Server en Triton de Joyent, habrá algunos requisitos en el proceso:

  • Docker 1.8
  • Una cuenta de Joyent
  • Una clave privada SSH

Probablemente puedas usar una versión diferente de Docker, pero yo estoy usando la 1.8. Depende de ti lo aventurero que quieras ser.

Uso de Couchbase con contenedores Docker

Llegados a este punto, si aún no ha instalado la aplicación Caja de herramientas Docker, ahora es un
buen momento. Contendrá todas las herramientas necesarias para utilizar Docker en nuestro ordenador local.

Ahora la Docker Toolbox contiene una herramienta llamada Kitematic, que ofrece soporte GUI para Docker. No vamos a utilizar esa herramienta. En su lugar vamos a
para hacerlo todo desde el Terminal (Mac y Linux) o el Símbolo del sistema (Windows).

Ten en cuenta que por ahora vamos a usar Docker sólo localmente, sólo para familiarizarnos con Couchbase y Docker. Más adelante en esta guía vamos a
conectándose al servicio Triton de Joyent.

Descargar e iniciar un contenedor de servidor Couchbase

Desde la aplicación Docker Terminal, ejecute el siguiente comando:

El comando anterior descargará la última imagen Docker oficial de Couchbase Server, le dará un nombre al contenedor en nuestro sistema y lo iniciará.
Puede comprobar que se ha realizado correctamente visitando https://192.168.99.100:8091/ en su navegador. Nota
que 192.168.99.100 es lo que su Terminal Docker le dijo cuando lo inició.

Iniciar un segundo contenedor de servidor Couchbase

Continúa y arranca una segunda instancia local de Couchbase Server con Docker. Esta vez quieres hacer lo siguiente:

Fíjate que esta vez hemos cambiado el nombre del contenedor y hemos aumentado el puerto host a 8092 en lugar de 8091. Este
es evitar conflictos entre puertos.

Detener y eliminar ambos contenedores del servidor Couchbase

Ya no necesitamos estos contenedores Docker de Couchbase Server ejecutándose localmente. Para eliminarlos, primero debemos averiguar su único
valor del contenedor así:

El resultado será algo parecido a esto:

Con los valores únicos del contenedor, puede ejecutar:

Ahora ambos contenedores locales deberían estar eliminados.

Conexión de Docker a la API de Triton Cloud

Hasta ahora, todo lo relacionado con Docker y Couchbase era local en tu máquina. Ahora vamos a conectar nuestro cliente Docker al servidor Joyent
Cloud API para que podamos hacer uso de Triton. Los pasos que vamos a seguir se pueden encontrar en
el documentación oficial de Joyenten esta guía.

Comienza obteniendo el script de ayuda de Joyent de la siguiente manera:

Si no tiene o no puede utilizar rizo descargar el archivo manualmente. Una vez descargado el script, ejecútelo,
introduciendo un determinado conjunto de parámetros:

En CLOUDAPI_URL puede ser uno de los siguientes, según la documentación:

  • https://us-east-1.api.joyent.com
  • https://us-sw-1.api.joyent.com
  • https://eu-ams-1.api.joyent.com

En NOMBRE_CUENTA es el nombre de usuario que utilizas para acceder al panel de control de Joyent. Como se mencionó anteriormente, necesitarás un SSH
clave privada para conectar a ARCHIVO_CLAVE_PRIVADA.

Cuando ejecutes el script, puede que te pida que introduzcas la contraseña de tu clave privada unas cuantas veces. Sólo tienes que seguir las instrucciones y hacer lo que dice. En
al final, le proporcionará algo parecido a lo siguiente:

Usted querrá ejecutar esos exportar pero no olvides cambiar mi nraboy a la de cualquier
que ha generado para ti. Estas declaraciones de exportación son importantes porque una vez que las ejecutes, Docker utilizará Joyent para gestionar
en lugar de su máquina local.

Ejecutar Couchbase Server Containers en Joyent

¿Recuerdas los comandos locales de Docker que ejecutamos antes? Vamos a ejecutarlos de nuevo con una pequeña modificación:

No deberíamos necesitar definir el mapeo de puertos por nuestra cuenta cuando se trata de Joyent. Esto se debe a que Joyent nos da una IP para cada contenedor que
crear. En nuestra máquina local sólo tenemos una IP y los puertos se convierten en un problema. Basta con hacer uso de la -P bandera y tú
debería ser bueno.

Si accedes a tu dashboard de Joyent deberías ver el nodo y su dirección IP. Si no desea obtener la información a través de
el tablero de Joyent, siempre puedes hacerlo a través de la Terminal Docker porque todo lo que hace está en el lado remoto ahora:

Recuerde, por supuesto, cambiar el identificador único del contenedor por los devueltos por docker ps.

Configure su primer nodo Couchbase

Utilizando una de las direcciones IP devueltas por el docker inspeccionar introdúzcalo en su navegador web con el puerto
8091 añadido. Algo así como https://165.225.158.112:8091 lo hará.

Sigue los pasos para configurar el cluster de Couchbase. Recuerda la IP y las credenciales de administrador ya que serán necesarias cuando
añadir nuevos nodos a su clúster.

Añade más nodos a tu clúster Couchbase Triton

Es hora de añadir otro contenedor Couchbase Server a Triton para que podamos agrupar nuestros nodos Couchbase. Desde el Terminal Docker ejecuta:

Como hemos comentado antes, obtén la IP de este contenedor e inícialo en tu navegador web en el puerto 8091.

En lugar de elegir crear un nuevo cluster Couchbase, elija unirse a uno e introduzca la información del otro servidor. Una vez completado,
reequilibra el servidor y listo.

Eliminar contenedores de su clúster

Dado que Couchbase es bastante escalable, probablemente necesitarás eliminar nodos de vez en cuando. Para ello, deberás
primero debe eliminar el nodo Couchbase de su clúster a través del panel de control administrativo de Couchbase. La eliminación incluirá
un reequilibrio de todos sus nodos existentes.

Con el nodo eliminado de forma segura del clúster, ahora puedes eliminar su contenedor del servicio Triton de Joyent. En tu Terminal Docker procede
con los mismos pasos que seguimos cuando eliminamos un contenedor localmente:

Recuerde, por supuesto, cambiar los identificadores de contenedor únicos por los devueltos por docker ps.

Conclusión

Acabamos de ver cómo hacer uso del servicio Triton de Joyent para alojar contenedores Docker con Couchbase Server. Usar Joyent te dará increíbles
rendimiento gracias a su infraestructura bare-metal y su excelente seguridad.

El tema de la seguridad estaba fuera del alcance de este artículo en particular, pero puede que se vuelva a tratar en una futura entrada.

Para complementar este artículo, Joyent ofrece a los usuarios de Couchbase un descuento promocional en su servicio Triton. Puedes registrarte en Joyent y
aproveche esta oferta aquí.

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

Autor

Publicado por Nic Raboy

Nic Raboy es un defensor de las tecnologías modernas de desarrollo web y móvil. Tiene experiencia en Java, JavaScript, Golang y una variedad de frameworks como Angular, NativeScript y Apache Cordova. Nic escribe sobre sus experiencias de desarrollo relacionadas con hacer el desarrollo web y móvil más fácil de entender.

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.