Kubernetes

Despliegue de un backend móvil Couchbase en Kubernetes

En Operador autónomo Couchbase 2.0 introduce una serie de características innovadoras y mejoras que hacen que sea más fácil que nunca desplegar, aprovisionar, supervisar y gestionar sus nodos de servidor Couchbase en Kubernetes. Además de los nodos de servidor Couchbase,  Couchbase Móvil incluyen Pasarelas de sincronización que proporcionan una sincronización de datos segura entre Couchbase Lite y la nube. Couchbase Server es el almacenamiento de respaldo persistente de Sync Gateway.

La naturaleza sin estado de Sync Gateway se presta bien a Kubernetes. En este post, ofrecemos una visión general de cómo implementar Sync Gateway en Kubernetes aprovechando las mejoras de autenticación de clientes introducidas en Couchbase Autonomous Operator 2.0.

Couchbase Mobile Deployment

Sync Gateway y Couchbase Autonomous Operator

El clúster de Sync Gateway se despliega y gestiona independientemente del clúster de Couchbase Server utilizando un Implantación de Kubernetes controlador. Mientras que Couchbase Operator no se utiliza para desplegar, aprovisionar y gestionar la puerta de enlace de sincronización, Couchbase Operator sí se utiliza para desplegar, aprovisionar y gestionar la puerta de enlace de sincronización. descargar paquete incluye una plantilla de despliegue de ejemplo para desplegar un clúster de Sync Gateway y conectarlo a un clúster de Couchbase Server.

Hay dos pasos principales a la hora de desplegar un clúster de Sync Gateway.

Conexión de Sync Gateway a Couchbase Server

En primer lugar, el clúster de Sync Gateway debe arrancar con el bucket de Couchbase Server adecuado, tal y como se especifica en el archivo Configuración del servidor Sync Gateway propiedad. Un clúster de Sync Gateway puede conectarse a un servidor Couchbase utilizando cualquiera de las siguientes configuraciones de red, a saber

  • A un servidor Couchbase en el mismo clúster Kubernetes (también conocido como "intra-kubernetes")
    Sync Gateway on same Kubernetes Cluster as server
  • A un clúster de servidores Couchbase en un clúster Kubernetes separado (también conocido como "inter-kubernetes")
    Sync Gateway on different Kubernetes Cluster as server

Para ello se necesitan las versiones 2.7.1 y posteriores de Sync Gateway.

  • A un clúster de Coucbase Server a través de una red pública (también conocida como "redes públicas").
    Sync Gateway on different Kubernetes Cluster than server

Para ello se necesitan las versiones 2.7.1 y posteriores de Sync Gateway.

Se recomienda que la comunicación entre Sync Gateway y el servidor sea protegido mediante TLS independientemente de la configuración de la red.

Por ello, aunque es muy recomendable, no es obligatorio que el servidor se despliegue en Kubernetes.

Además de configurar la red para permitir que Sync Gateway se conecte al servidor, los nodos Sync Gateway deben autenticarse con Couchbase Server. Tienes dos opciones

Usuario RBAC de Sync Gateway

Este es probablemente el mecanismo de autenticación más común utilizado en los despliegues de Couchbase Mobile. Operator 2.0 introduce soporte para Gestión RBAC. Puede utilizar esta función para que el operador gestione automáticamente la creación del usuario RBAC de Sync Gateway. Para ello, defina un Usuario de Couchbase correspondiente al usuario de Sync Gateway y crear las Vinculación de funciones de usuario que vinculará al usuario de Sync Gateway con las funciones administrativas pertinentes (bucket_full_access) definida por a Grupo Couchbase.

Para aprovechar esta capacidad, deberá activar la gestión RBAC.
Kubernetes Operator RBAC Management

Todavía tiene la opción de no dejar que Operator gestione el usuario RBAC, en cuyo caso, crearía manualmente el usuario en el servidor por procedimientos habituales.

Autenticación de clientes TLS

Operator 2.0 es totalmente compatible con mTLS (TLS mutuo). Esto puede aprovecharse para autenticar la puerta de enlace de sincronización mediante certificados de cliente.

Mutual Authentication

Una vez que el Sync Gateway se ha conectado correctamente al servidor, el siguiente paso es exponerlo a los clientes de Couchbase Lite

Exposición de Sync Gateway a clientes Couchbase Lite

Un despliegue típico de Couchbase Mobile consiste en uno o más nodos Sync Gateway liderados por un balanceador de carga. Los clientes de Couchbase Lite se conectan al balanceador de carga. La comunicación de los clientes con el Sync Gateway está protegida mediante TLS. Tienes un par de opciones de despliegue -

Equilibrador de carga como Pass-through

En esta opción, el equilibrador de carga que opera en Capa 4 de la pila de red es un paso para el tráfico entre los clientes de Couchbase Lite y Sync Gateway. Las conexiones TLS son de extremo a extremo y terminan en Sync Gateway. Esta opción funciona para proveedores de nube que admiten balanceadores de carga. Puede aprovisionar un equilibrador de carga para el servicio Sync Gateway.
Layer 4 load balancer with Sync Gateway

Equilibrador de carga como terminación TLS

En esta opción, un equilibrador de carga a nivel de aplicación actúa como proxy interceptando las comunicaciones entre los clientes de Couchbase Lite y Sync Gateway, y las decisiones de equilibrio de carga se toman inspeccionando el contenido de los paquetes. Las conexiones TLS terminan en el equilibrador de carga, aliviando la carga de Sync Gateway. Este es un modelo de despliegue muy común para Couchbase Mobile.

TLS Termination Point with App Gateway

Recorrido

Hemos elaborado un tutorial en tres partes que proporciona instrucciones paso a paso para

  • Despliegue un clúster Sync Gateway y conectarlo al servidor
  • Exponga el despliegue de Sync Gateway a clientes externos Couchbase Lite y RESTful y
  • Gestione el clúster Sync Gateway

Incluye un análisis de las mejores prácticas y archivos de configuración .yaml de ejemplo que pueden utilizarse como referencia y personalizarse para su implantación.

Las instrucciones del tutorial se aplican a cualquier entorno Kubernetes. Las diferencias que encontrará entre los entornos Kubernetes gestionados radicarán principalmente en la configuración de red y la configuración de los equilibradores de carga específicos de la plataforma.

Aquí tienes los enlaces directos para configurar el clúster del servidor Couchbase en entornos Kubernetes gestionados populares utilizando Autonomous Operator. Una vez desplegado el servidor Couchbase, sigue los pasos descritos en el tutorial anterior para desplegar el clúster Sync Gateway.

  • Las instrucciones para configurar un clúster de Couchbase Server con Amazon Elastic Container Service para Kubernetes (EKS) en Amazon Web Services (AWS) se describen en este documento. tutorial
  • Las instrucciones para configurar un clúster de Couchbase Server con Azure Container Service (AKS) en Azure Cloud Platform se describen en este documento. tutorial
  • Las instrucciones para configurar un clúster de Couchbase Server con Amazon Elastic Container Service para Kubernetes (EKS) en Amazon Web Services (AWS) se describen en este documento. tutorial

Despliegue con Helm

El operador gráfico se amplía ahora para soportar Sync Gateway. ¡Así que puedes desplegar el Operador, el servidor Couchbase y los clusters de Sync Gateway en un solo paso! Por supuesto, el gráfico puede usarse para desplegar el cluster Sync Gateway conectado exclusivamente a un Servidor Couchbase que no esté desplegado usando Helm. La instalación de Sync Gateway está desactivada por defecto.

Si desea desplegar el Sync Gateway, cree un anular para la valores.yaml personalizarlo para adaptarlo a sus necesidades de implantación e instalarlo.

¿Qué sigue?

En los tutoriales se puede ver que sólo se necesitan un par de pasos para desplegar los contenedores de Sync Gateway mediante Kubernetes.

Si tiene alguna pregunta o sugerencia, deje un comentario a continuación o póngase en contacto conmigo en Twitter @rajagp o envíame un correo electrónico. En Foros de Couchbase son otro buen lugar para plantear preguntas.

Agradecimientos

Me gustaría dar las gracias a Simon Murray por sus comentarios sobre el tutorial.

 

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

Author

Posted by Priya Rajagopal, Directora de Gestión de Productos

Priya Rajagopal es directora sénior de gestión de productos en Couchbase y responsable de las plataformas de desarrollo para la nube y el perímetro. Lleva más de 20 años dedicándose profesionalmente al desarrollo de software en varios puestos de liderazgo técnico y de producto, con más de 10 años centrados en tecnologías móviles. Como delegada de estándares IPTV de TISPAN, fue una colaboradora clave en las especificaciones de estándares IPTV. Tiene 22 patentes en las áreas de redes y seguridad de plataformas.

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.