You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Se tiene reunión con @carlosaparadam y con @marcalwestf , se describen los siguientes puntos tratados en la reunión.
Forma de trabajo presentada en la reunión y puntos tratados
Repositorios indicados dentro de https://github.com/solop-develop. (incluidos usuarios y contraseñas para acceder a ArgoCD e Ingress).
Se contarán con imágenes públicas de docker generadas a partir de los releases generados en cada proyecto de este repositorio.
Las versiónes de imágenes de docker se basarán en el nombre de release.
** Adicionalmente la versión latest será la última publicada.
** adempiere-box es el repositorio de adempiere dentro de solop
*** dockerhub/adempiere-base es una instancia limpia que se puede descargar para trabajar.
*** dockerhub/adempiere-postgres es una imagen de postgres con el seed ya montado de su release correspondiente.
Dentro del despliegue de kubernetes se tendrá instalado ArgoCD y Ingress
Dentro del proyecto Infraestructure se dispondrá de directorios para levantar zk, vue, base de datos, etc, estos directorios indican los archivos yaml de kbuernetes para poder desplegar las instancias con la versión que corresponda, dentro de cada archivo se define la imagen a traer de dockerhub. Con hacer un commit acá bastará para que ArgoCD detecte un cambio y proceda a actualizar los Pods.
ArgoCD (servicio desplegado dentro del cluster), se le indica url de repositorio de Git y se indica directorio dentro a montar, de ahí obtiene los archivos yaml de configuración de kuberetes con las versiones de imagenes a montar.
Grafana, se tiene una instalación por defecto, conectado al kubernetes trae los indicadores por defecto.
Networking y DNS, se plantea utilizar los DNS directamente en DigitalOcean y de ahí definir los CNAME (los nombres de subdominios) para apuntarlos a la IP del Ingress.
Se dispondrá de un ingress que se encargará de redireccionar el tráfico de red a los nodos correspondientes (en un Nginx).
** Definición de etiquetas
*** kind Deployment: affinity para enlzarar (mediante etiqueta) a un nodo en particular (con esa misma etiqueta).
*** kind Deployment: Definición de recursos (CPU y RAM)
*** kind Deployment: tolerations, las etiquetas definidas aca permitirán instalar el recurso dentro del nodo que acepte esa etiqueta.
*** kind Ingress: annotations, se revisa ese tag para redirigir el tráfico y mantener la sesión en un solo Pod para que no balancee la misma sesión entre varios Pods y tenga un comportamiento erroneo.
**
Se comenta la práctica de despliegue de jars en dos formas.
** Como package, se levanta con el RUN_silentSetup.sh.
** Como librería externa, se firma y se copia directamente al tomcat.
Carlos plantea tener en DigitalOcean definido un contenedor de registro donde esté adempiere con las customizaciones que se puedan tener implementadas arriba, esto permite tener esa customización de forma privada a diferencia de DockerHub donde las imágenes son públicas.
Preguntas adicionales
¿Como se persiste la base de datos?
** Hay un volumen de digital ocean donde se monta como punto de montaje dentro de la definición del Pod.
¿Como se persiste si la base tiene diferentes pods de balanceo?
** Actualmente hay un solo Pod, estan analizando CruncyData para que esto resuelva el balanceo de base de datos.
¿Como se hacen los backups a las bases?
** Yamel hizo un script que está dentro de una imagen de docker, las herramientas de backups que han analizado no cumplen correctamente con lo que se necesita.
¿Guardan el log en un volumen persistente?
** Actualmente no, revisar tabla AD_Issue, el pod actualmente es efimero, si se borra se borra el log (libera espacio de logs grandes)
Si tienen que ver el log de un error, ¿como identifican a que pod entrar?
** Revisar tabla AD_Issue
Resumen
Actualmente está operativo por un lado generar un release con la versión de ADempiere que se desee (desde el proyecto adempiere que está en https://github.com/solop-develop) para que se suba la imagen construida a DockerHub.
Esa imagen podría desplegarse en un kubernetes (mediante el proyecto infraestructura, kubernetes y ArgoCD) y quedar disponible para acceder, con una base seed vinculada.
No estaría soportado actuamente
Tener customizaciones que estén por fuera del proyecto de ADempiere.
Tener un balanceo de base de datos
Tener réplicas de base de datos.
Poder hacer backups al motor con una herramienta especializada.
Puntos pendientes para próximas reuniones
Implementación de CrunchyData para escalar y realizar backups en las bases de instancias que estén en kubernetes.
Dar soporte para que además de la imagen de ADempiere, poder montar customizaciones por fuera, darle flexibilidad para que no sea una imagen de ADempiere base si no que se le puedan montar customizaciones por separado.
** Esto implicaría terminar de separar lo de gradle que está haciendo Yamel
** Buscar una estructura para ver como integrarlo
@carlosaparadam revisa este texto de resumen por si quieres agregar o modificar algo, es lo que vimos en la reunión de hoy.
Por otro lado por favor dinos cuando te parece fijar la próxima reunión para ver los puntos pendientes que se detallan y poder continuar avanzando para hacer esto operativo para testing y producción.
Habías dicho que quizas en 2-3 semanas podría estar esto operativo? aguardamos para que definas la próxima reunión.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Se tiene reunión con @carlosaparadam y con @marcalwestf , se describen los siguientes puntos tratados en la reunión.
Forma de trabajo presentada en la reunión y puntos tratados
Repositorios indicados dentro de https://github.com/solop-develop. (incluidos usuarios y contraseñas para acceder a ArgoCD e Ingress).
Se contarán con imágenes públicas de docker generadas a partir de los releases generados en cada proyecto de este repositorio.
Las versiónes de imágenes de docker se basarán en el nombre de release.
** Adicionalmente la versión latest será la última publicada.
** adempiere-box es el repositorio de adempiere dentro de solop
*** dockerhub/adempiere-base es una instancia limpia que se puede descargar para trabajar.
*** dockerhub/adempiere-postgres es una imagen de postgres con el seed ya montado de su release correspondiente.
Dentro del despliegue de kubernetes se tendrá instalado ArgoCD y Ingress
Dentro del proyecto Infraestructure se dispondrá de directorios para levantar zk, vue, base de datos, etc, estos directorios indican los archivos yaml de kbuernetes para poder desplegar las instancias con la versión que corresponda, dentro de cada archivo se define la imagen a traer de dockerhub. Con hacer un commit acá bastará para que ArgoCD detecte un cambio y proceda a actualizar los Pods.
ArgoCD (servicio desplegado dentro del cluster), se le indica url de repositorio de Git y se indica directorio dentro a montar, de ahí obtiene los archivos yaml de configuración de kuberetes con las versiones de imagenes a montar.
Grafana, se tiene una instalación por defecto, conectado al kubernetes trae los indicadores por defecto.
Networking y DNS, se plantea utilizar los DNS directamente en DigitalOcean y de ahí definir los CNAME (los nombres de subdominios) para apuntarlos a la IP del Ingress.
Se dispondrá de un ingress que se encargará de redireccionar el tráfico de red a los nodos correspondientes (en un Nginx).
** Definición de etiquetas
*** kind Deployment: affinity para enlzarar (mediante etiqueta) a un nodo en particular (con esa misma etiqueta).
*** kind Deployment: Definición de recursos (CPU y RAM)
*** kind Deployment: tolerations, las etiquetas definidas aca permitirán instalar el recurso dentro del nodo que acepte esa etiqueta.
*** kind Ingress: annotations, se revisa ese tag para redirigir el tráfico y mantener la sesión en un solo Pod para que no balancee la misma sesión entre varios Pods y tenga un comportamiento erroneo.
**
Se comenta la práctica de despliegue de jars en dos formas.
** Como package, se levanta con el RUN_silentSetup.sh.
** Como librería externa, se firma y se copia directamente al tomcat.
Carlos plantea tener en DigitalOcean definido un contenedor de registro donde esté adempiere con las customizaciones que se puedan tener implementadas arriba, esto permite tener esa customización de forma privada a diferencia de DockerHub donde las imágenes son públicas.
Preguntas adicionales
** Hay un volumen de digital ocean donde se monta como punto de montaje dentro de la definición del Pod.
** Actualmente hay un solo Pod, estan analizando CruncyData para que esto resuelva el balanceo de base de datos.
** Yamel hizo un script que está dentro de una imagen de docker, las herramientas de backups que han analizado no cumplen correctamente con lo que se necesita.
** Actualmente no, revisar tabla AD_Issue, el pod actualmente es efimero, si se borra se borra el log (libera espacio de logs grandes)
** Revisar tabla AD_Issue
Resumen
Actualmente está operativo por un lado generar un release con la versión de ADempiere que se desee (desde el proyecto adempiere que está en https://github.com/solop-develop) para que se suba la imagen construida a DockerHub.
Esa imagen podría desplegarse en un kubernetes (mediante el proyecto infraestructura, kubernetes y ArgoCD) y quedar disponible para acceder, con una base seed vinculada.
No estaría soportado actuamente
Puntos pendientes para próximas reuniones
** Esto implicaría terminar de separar lo de gradle que está haciendo Yamel
** Buscar una estructura para ver como integrarlo
@carlosaparadam revisa este texto de resumen por si quieres agregar o modificar algo, es lo que vimos en la reunión de hoy.
Por otro lado por favor dinos cuando te parece fijar la próxima reunión para ver los puntos pendientes que se detallan y poder continuar avanzando para hacer esto operativo para testing y producción.
Habías dicho que quizas en 2-3 semanas podría estar esto operativo? aguardamos para que definas la próxima reunión.
Beta Was this translation helpful? Give feedback.
All reactions