Saltar al contenido principal
Version: Next

Servicios base

Estos son los servicios deben estar funcionando en su ambiente antes de instalar la solución. Por motivos de confiabilidad, performance y simplicidad se recomienda instalar Postgres, Nuxeo y LDAP por fuera de Docker o Swarm.

Componentes

Docker Swarm

Es necesario tener un clúster de Docker Swarm funcionando. La forma de crearlo va a depender fuertemente de la infraestructura disponible.

Un requerimiento básico es que los nodos pertencientes al clúster pertenezcan todos a una red interna, que no se pueda acceder desde el mundo externo.

A continuación se agregan un par de referencias de cómo crear un cluster.

Postgres

Se requiere un servidor Postgres 10 o superior. En el mismo se deben crear tres bases que estén accesibles por el clúster. Los siguientes módulos son las que las utilizan:

  • Araí-Usuarios
  • Araí-Documentos
  • Sudocu

Nuxeo

Se utiliza NUXEO como servidor CMIS 1.0 compatible (https://www.nuxeo.com/)

Luego de instalar Nuxeo, realizar deploy de siu-types. Ver Deploy SIU-Types

LDAP

Se recomienda utilizar OpenLdap (https://www.openldap.org/). En esta url existe información sobre cómo instalarlo bare-metal directamente o sobre Docker: https://documentacion.siu.edu.ar/usuarios/docs/cache/instalacion-bases-ldap/.

Si su institución ya cuenta con una base LDAP póngase en contacto con el equipo de Araí-Usuarios para analizar la manera de integrar los esquemas necesarios.

Almacenamiento compartido

Hay imagenes dentro de la solución que utilizan volumenes. Si se desea que esas imagenes corran en más de un nodo específico, es necesario que los volumenes puedan montarse en cualquier nodo.

NFS

Existen varias maneras de lograr esto, la más simple es utilizando NFS. La manera de implementarlo es creando un server NFS y asegurando que todos los nodos puedan conectarse al mismo como clientes.

Una vez hecho eso, es posible configurar los archivos ymls de EEI (usuarios.yml y sudocu.yml) que utilizan los volumenes NFS. Dicha configuracion se encuentra por defecto comentada.

A continuación se deja la guía complementaria de configuracion de NFS en docker swarm.

En la misma encontrará instrucciones paso a paso para configurar NFS, además de más lecturas complementarias.

Tips NFS

Al utilizar NFS con el plugin de netshare todo es automático, pero si en algún caso se produce algún error puede que se experimente un comportamiento extraño.

Para comenzar a debuggear problemas con NFS lo primero que hay que hacer es verificar si el volumen fue o no montado a través de NFS, para hacer eso, se puede utilizar el siguiente comando:

mount -l | grep nfs
:/var/nfsroot/certs on /var/lib/docker/volumes/traefik_traefik-certs/_data type nfs4 (rw,relatime,vers=4.0,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=170.210.46.32,local_lock=none,addr=170.210.46.29)
:/var/nfsroot/usuarios_assets on /var/lib/docker/volumes/usuarios_usuarios_assets/_data type nfs4 (rw,relatime,vers=4.0,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=170.210.46.32,local_lock=none,addr=170.210.46.29)

Otros medios

NFS es la manera más simple de configurar almacemiento pero tiene algunos problemas, el más notable es que es un punto de falla centralizado.

Se pueden utilizar otros medios de persistencia, como por ejemplo, GlusterFS.

Si alguna institución avanza con una solución distinta a NFS sería bueno que nos contacten y analizar si podemos incluir alguna guía para facilitar a la comunidad.