Cómo instalar Odoo en alta disponibilidad y listo para la escalabilidad masiva

Ver Categorías

Cómo instalar Odoo en alta disponibilidad y listo para la escalabilidad masiva

7 minutos de lectura

Resumen #

El objetivo de este artículo es explicar cómo realizar una aplicación CRM, fundamental para una empresa como Odoo, altamente escalable. Además, cómo configurarlo en alta disponibilidad para que sea tolerante a fallos, y cómo reforzar la seguridad de acceso al mismo.

¿Qué es la alta disponibilidad? #

La alta disponibilidad es una cualidad de un sistema o componente que garantiza un alto nivel de rendimiento operativo, generalmente tiempo de actividad, durante un período de tiempo superior al normal.

¿Qué es odoo? #

Odoo (también llamado OpenERP) es un software empresarial de código abierto que integra todas las necesidades empresariales, incluidas CRM, facturación, contabilidad, sitios web, gestión de proyectos y almacenes, fabricación, inventario y mucho más.

Configuración RELIANOID Balanceador de carga #

Con RELIANOID Load Balancer podemos garantizar una alta disponibilidad y prepararnos para una escalabilidad masiva para Odoo servicios siguiendo los pasos a continuación.

Tenga en cuenta que, para seguir estas instrucciones, será necesario instalar una instancia de RELIANOID Load Balancer y varias instancias de Odoo aplicaciones. Además, es muy importante que el Postgresql se replican entre ellos, para garantizar la coherencia.

El entorno que vamos a describir en este artículo se muestra a continuación.

Odoo HA HTTP

Paso 1: crea una IP virtual #

Se requiere la creación de una IP virtual en el balanceador de carga, ya que será el punto de entrada a Odoo servicios. En nuestro ejemplo tendremos dos Odoo servidores reales pero puedes incluir tantos como necesites sin ninguna limitación. Para crear una nueva IP virtual, desde el RELIANOID Menú principal LB, seleccione Configuración->Interfaces.

Odoo Crear IP Virtual

Busque la interfaz física donde desea crear una IP virtual y en Acciones haga clic en el botón agregar interfaces de red virtuales.

Odoo Agregar interfaz de red virtual

Escribe la dirección y máscara de red de tu nueva IP virtual, debe estar en la misma subred que el dispositivo físico. Guárdalo haciendo clic en el botón guardar interfaz virtual.

Odoo guardar ip virtual

Paso 2: crear una granja http #

Una granja es un conjunto de servidores informáticos que proporcionan funcionalidad de servidor y aumentan significativamente su capacidad. Entonces, al establecer una granja de Odoo servidores, aumentaremos su rendimiento y escalabilidad, lo cual es esencial para una alta disponibilidad. Para lograr esto vaya a Administrar->Granjas.

Odoo crea una granja de equilibrio de carga

Haga clic en Agregar nueva granja y en la nueva ventana, seleccione un nombre y HTTP como perfil. Seleccionamos el perfil HTTP porque es la mejor opción para servicios web y es necesario analizar el contenido de la aplicación para proporcionar persistencia a nivel de aplicación.

Granja de equilibrio de carga HTTP de Odoo

Se mostrarán dos opciones más. Seleccione la IP virtual creada en el paso 1 y un puerto (en el ejemplo elegimos 80, ya que es el predeterminado para el protocolo HTTP) y haga clic en Guardar .

Odoo HTTP crear granja

Para obtener más información sobre las granjas, consulte Administrar::granjas.

Paso 3: agrega el servicio #

Una vez creada la granja, tenemos que editarla para poder agregar un nuevo servicio. Por favor haga clic en el botón editar granja.

Odoo editar granja

Se pueden editar varios detalles de la granja, ahora mantendremos los valores predeterminados y agregaremos un nuevo servicio.

Odoo edita granja http

En la captura de pantalla anterior, busque el Agregar sección de servicio, escriba el nombre del servicio y haga clic en Agregar .

Odoo crea servicio http

Por ahora, dejaremos los valores predeterminados y solo agregaremos los backends donde Odoo Se ejecutarán servicios reales. Busque la sección de backends y haga clic en el botón Agregar servidor real.

odoo agrega servidores reales

Incluya las direcciones IP y los puertos del Odoo servicios (8069 predeterminado para los servicios de Odoo), tiempo de espera y peso y haga clic en guardar servidor real.

odoo_configure_backends

Es necesario para evitar la conmutación de servidores: si durante nuestra sesión saltamos de un servidor a otro, habrá pérdida de eficiencia, datos e incluso comunicación. Para evitar este comportamiento el Sesión de persistencia Se debe configurar la opción. Elegiremos mantener una sesión por ID de sesión, lo que significa que durante una sesión, nos conectaremos a un solo servidor.

En los parámetros globales del servicio ahora podemos cambiar el campo de sesión de persistencia a COOKIE: una determinada cookie y haga clic en modificar.

Odoo configura la cookie

recuadro session_id como identificador de sesión de persistencia y haga clic en modificar.

Configuración del ID de sesión de Odoo

Finalmente debemos aplicar los cambios reiniciando la granja.

Servicio de reinicio de Odoo

¡Felicitaciones! has configurado Odoo en alta disponibilidad. Puedes acceder escribiendo http://[VIRTUAL_IP]:[PORT] (en nuestro ejemplo http://192.168.56.200).

Paso 4: control de salud avanzado #

Ahora configuraremos el guardián de la granja para realizar controles de salud avanzados en los backends, asegurando que estén en funcionamiento y el comportamiento correcto de la aplicación, no solo una verificación del puerto TCP. Por favor localice el guardián de la granja en la pestaña Odoo servicio que hemos configurado en el paso 3. Haga clic en Utilice FarmGuardian para comprobar los servidores backend, también puedes modificar el tiempo entre el check y finalmente, en el Comando para comprobar cuadro de texto, escriba el siguiente comando:

check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PUERTO -s ' '

Finalmente, haga clic en modificar.

Configuración de controles de salud avanzados de Odoo

El comando comprobar_http prueba las conexiones HTTP con el host especificado. En nuestro caso, estamos utilizando las siguientes opciones:

-PUEDO ALOJAR: El token HOST será reemplazado por la dirección IP del backend definida.
-w 10: tiempo de respuesta para generar un estado de advertencia: 10 segundos
-c 10: tiempo de respuesta al estado crítico: 10 segundos
-t 10: 10 segundos antes de que se agote el tiempo de conexión
-e 200: espera la cadena 200 en el estado de la respuesta del servidor
-p PUERTO: El PUERTO del token será reemplazado por el puerto de backend definido.
-s ' ': la cadena que se espera en el contenido es ' '

Esta verificación de estado avanzada garantiza que obtengamos una respuesta 200 OK de los servidores reales y que el comando de respuesta contenga la cadena ' '. Seleccionamos esta cadena porque está al final de la respuesta, de esta manera podemos garantizar que obtenemos una respuesta correcta de la aplicación backends.

Paso 5: alta seguridad #

Odoo no proporciona un canal seguro para la comunicación web, pero podemos lograrlo fácilmente con RELIANOID Cargue el equilibrador como se muestra a continuación.

Odoo HA HTTPS

Tenemos que configurar un oyente HTTPS: en el Editar parámetros globales de la granja pantalla, cambie el escucha de la granja de HTTP a HTTPS y el Puerto virtual a 443.

Configuración SSL HTTPS de Odoo

En este punto, Odoo se puede acceder escribiendo https://[VIRTUAL_IP] en su navegador.

Las comunicaciones seguras ya están funcionando, pero podemos ir más allá configurando los cifrados HTTPS: dentro de los parámetros globales de la granja, localice el Configuraciones HTTPS sección. Podemos cambiar los cifrados a Alta seguridad.

Cifrados de alta seguridad de Odoo

El campo de cifrados se utiliza para crear una lista de cifrados aceptados por el servidor HTTPS para reforzar la conexión SSL. Seleccionando Alta seguridad, configuraremos por defecto los cifrados.

kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED

Otra opción es la Certificados HTTPS disponibles: se mostrará una lista de certificados para seleccionar para la granja actual (solo para granjas HTTP, que es nuestro caso). Podemos seleccionar uno de la lista y pulsar en Agregar . Finalmente, haga clic en modificar y reinicie la granja para aplicar los cambios.

Finalmente, la zencert.pem El certificado podría usarse para probar el oyente HTTPS, pero es importante usar su propio certificado SSL.

Para más información, consulte Granjas de perfiles HTTP.

Paso 6: base web de Odoo #

Odoo construye la URL teniendo en cuenta su configuración web.base.url. Si accedemos a través RELIANOID Load Balancer veremos que la URL cambia a la URL del backend. Como hemos configurado comunicaciones seguras a través de HTTPS, esto podría suponer un problema y sólo podríamos navegar hasta el Odoo URL básica. Para evitar esto debemos configurar el web.base.url parámetro en cada odoo servidor.

Para lograr esto, acceda a cada backend y, en el panel izquierdo, vaya a Técnico >> Parámetros >> Parámetros del sistema y cambiar el web.base.url a la parte superior RELIANOID IP virtual de Load Balancer y puerto seleccionado para la granja de odoo. En nuestro ejemplo sería https://192.168.56.200, o incluso mejor, https://odoo.mycompany.com.

Configuración de URL de la base web de Odoo

Es posible que las funciones técnicas estén deshabilitadas. Si ese es el caso, las opciones técnicas no estarán disponibles. Para resolver esto, seleccione Usuarios >> Usuarios, edite el usuario actual y habilite el Características técnicas en usabilidad.

Paso 7: almacén de archivos Odoo #

Hay varias opciones para configurar el almacén de archivos en alta disponibilidad.

1. En cada backend, podemos montar un almacenamiento compartido y configurar la ruta local a través del parámetro ir_attachment.ubicación en la sección Configuración >> Técnico >> Parámetros >> Parámetros del sistema.

2. Si no tenemos una unidad para proporcionar alta disponibilidad del recurso compartido para el almacén de archivos, podemos usar RELIANOID para crearlo para un NFS (Sistema de archivos de red) para poder montarlo en cada backend. Como este servicio utiliza puertos TCP y UDP, podemos crear un L4xNAT a través de todos los puertos bajo una determinada IP virtual, que se utilizará para configurar el montaje automáticamente en el momento del arranque a través del / etc / fstab .

3. Otra opción es configurar SSHFS que utiliza el servicio seguro SSH para utilizar un sistema de archivos compartido remoto. Como el servicio SSH utiliza el puerto TCP 22 de forma predeterminada, se puede equilibrar la carga a través de un L4xNAT sin preocupaciones de manera similar al caso de NFS.

Dependiendo de si es necesario crear un recurso de almacén de archivos compartido activo-activo o activo-pasivo, será necesaria una replicación o sincronización de los archivos.

Aunque este tema está fuera del alcance de este artículo, se abordará en un artículo dedicado.

Ahora, sus procesos y operaciones comerciales están listos para escalar configurando Odoo en alta disponibilidad con RELIANOID, disfruta!

📄 Descarga este documento en formato PDF #

    EMAIL: *

    Powered by mejoresdocs