miércoles, 18 de mayo de 2022

Desplegar aplicación BWCE con Maven en Azure Kubernetes - Container Registry desde TIBCO Business Studio

Cómo desplegar aplicación BWCE con Maven en Azure Kubernetes - Container Registry desde TIBCO Business Studio

Hola

En este post voy a describir cómo desplegar una servicio REST de TIBCO BusinessWorks Container Edition desde TIBCO Business Studio usando el plugin de Maven en Azure Kubernetes con un Container registry también en Microsoft Azure.

Prerrequisitos

-TIBCO BusinessWorks Container Edition 2.7.0 con Maven plugin.
-Microsoft Azure CLI conectado a Microsoft Azure
-Maven 3.8.5 (Si se quiere ejecutar fuera de TIBCO Business Studio)
-Docker (En este ejercicio no se requiere ya que no estoy creando ninguna imagen). Se da por entendido que la imagen ya existe en el Azure Container Registry

Procedimiento

Es necesario generar el archivo POM del proyecto para poder realizar un despliegue con Maven. 

1.- Clic derecho sobre la aplicación y seleccionar Generate POM for Application

Ingresar la información referente al proyecto.

  • Deploy options: Docker
  • Image name: Imagen de Docker (ej. miazureregistry.azurecr.io/imagename:tag)
  • BWCE image: Imagen base de Docker (ej. miazureregistry.azurecr.io/imagename:tag)
  • Run on Docker host. Ingresar puertos usados por la aplicación.
  • Select platform: Kubernetes/Openshift (Para un servicio de AKS)
  • Deployment name
  • Service name
  • Service Type
  • Container Port
Los siguientes archivos de propiedades son generados sobre la carpeta de la aplicación:
  • docker-dev.properties
  • docker-host-env-dev.properties
  • docker-host-env-prod.properties
  • docker-prod.properties
  • k8s-dev.properties
  • k8s-prod.properties
2.- Desde TIBCO Business Studio seleccionar Run > Run configurations

3.- Crear un Maven build configuration con los siguientes goals:

clean initialize com.tibco.plugins:bw6-maven-plugin:bwfabric8json fabric8:resource fabric8:apply -Ddocker.property.file=docker-dev.properties -Dk8s.property.file=k8s-dev.properties

Los goals arriba especificados van a realizar las siguientes tareas:

Clean: Borra los archivos, folders generados de una construcción anterior de recursos.
Initialize: Carga los valores especificados en los archivos de configuración (docker-dev.properties,
k8s-dev.properties)
com.tibco.plugins:bw6-maven-plugin:bwfabric8json:  Genera los templates .yml para el deployment
fabric8:resource: Crea los archivos yml para el deployment (target/classes/META-INF/fabric8/kubernetes/kubernetes.yml) 
fabric8:apply: Ejecuta el deployment en Kubernetes

Las properties se especifican en el formato -Dpropiedad:

-Ddocker.property.file=docker-dev.properties
-Dk8s.property.file=k8s-dev.properties
-e -X son parámetros para ver logs con detalles y errores

4.- Clic en Ejecutar

5.- Opcionalmente se puede ejecutar el despliegue fuera de TIBCO Business Studio teniendo instalado Maven.

Para esto, ir a la ruta donde se encuentra el archivo POM principal sobre la carpeta de aplicación.parent y ejecutar la misma linea de goals con el prefijo de Maven (mvn)

mvn clean initialize com.tibco.plugins:bw6-maven-plugin:bwfabric8json fabric8:resource fabric8:apply -Ddocker.property.file=docker-dev.properties -Dk8s.property.file=k8s-dev.properties


6.- Verificar que el despliegue haya sido exitoso en Azure Kubernetes

Les dejo un video de cómo realizar este procedimiento.



Espero les sirva


No hay comentarios.:

Publicar un comentario