Personaliza el plan de migración para servidores de JBoss

Debes revisar el archivo del plan de migración que se generó cuando se creó la migración. Personaliza el archivo antes de ejecutar la migración. Los detalles de tu plan de migración se usan para extraer los artefactos de contenedor de la carga de trabajo de la fuente.

En esta sección, se describe el contenido de la migración y los tipos de personalizaciones que puedes tener en cuenta antes de ejecutar la migración y generar artefactos de implementación.

Antes de comenzar

En este documento, se supone que ya creaste una migración y que tienes el archivo del plan de migración.

Edita el plan de migración

Después de copiar el sistema de archivos y analizarlo, puedes encontrar el plan de migración en el directorio nuevo que se crea en la ruta de salida especificada: ANALYSIS_OUTPUT_PATH/config.yaml.

Edita el plan de migración según sea necesario y guarda los cambios.

Estructura del plan de migración

El plan de migración para una carga de trabajo de JBoss tiene la siguiente estructura, que puedes personalizar como se describe en las siguientes secciones.

# Server name. Edit this to change the artifacts naming.
serverName: jboss-server
# JBoss home directory.
home: /opt/jboss/wildfly
# Parent Wildfly image for the generated container image.
fromImage: docker.io/jboss/wildfly:10.1.0.Final
# JBoss home directory in the target image.
targetImageHome: /opt/wildfly
# Configuration file path from source VM.
configurationFile: /opt/jboss/wildfly/standalone/configuration/standalone.xml
# Ports list to expose on the generated container image.
ports:
- name: management-http
  port: 9990
- name: management-https
  port: 9993
- name: ajp
  port: 8009
- name: http
  port: 8080
- name: https
  port: 8433
- name: txn-recovery-environment
  port: 4712
- name: txn-status-manager
  port: 4713
# List of deployments files to copy.
deployments:
  directory: /opt/jboss/wildfly/standalone/deployments
  applications:
  - test.war
# List of modules to copy in rsync filter format.
# Note: files under '/system/layers/base/' are JBoss/Wildfly binaries and should be copied only if they have been modified.
modules:
- '- system/layers/base'
# External paths required for running the JBoss server or apps.
additionalFiles: []
# Sensitive data which is filtered out of the container image.
# If includeSensitiveData is set to true the sensitive data is mounted on the container.
sensitiveData:
  includeSensitiveData: false
  sensitiveDataPaths:
  - /opt/jboss/wildfly/standalone/configuration/application-roles.properties
  - /opt/jboss/wildfly/standalone/configuration/application-users.properties
  - /opt/jboss/wildfly/standalone/configuration/application.keystore
  - /opt/jboss/wildfly/standalone/configuration/mgmt-groups.properties
  - /opt/jboss/wildfly/standalone/configuration/mgmt-users.properties

Para agregar información según sea necesario, revisa los detalles del plan de migración y los comentarios guías.

En particular, considera las ediciones en las siguientes secciones.

Especifica la imagen de Docker

En el plan de migración, generamos una etiqueta de imagen de la comunidad de Docker basada en la versión de JBoss. La versión de JBoss se detecta y se convierte en una versión principal (no se admiten versiones secundarias). Si no detectamos una versión de JBoss, fromImage contendrá una string vacía.

En el plan de migración, el campo fromImage representa la etiqueta de imagen de Docker que se usa como base de la imagen del contenedor.

Las versiones originales de JBoss que se detectan en la VM de origen se encuentran en discovery-report.yaml, que se genera mediante el descubrimiento inicial.

Si deseas cambiar la imagen de la comunidad de Docker o proporcionar tu propia imagen de Docker, puedes modificar la etiqueta fromImage en tu plan de migración con el siguiente formato:

# Parent Wildfly image for the generated container image.
 fromImage: docker.io/jboss/wildfly:10.1.0.Final

El campo targetImageHome especifica la ruta del directorio principal de JBoss en la imagen de destino y se deriva del campo fromImage. No es necesario cambiar el valor de este campo, a menos que uses una imagen de JBoss con un valor de inicio diferente de JBoss.

Especifica las aplicaciones

Para excluir aplicaciones de la imagen del contenedor, quítalas de la lista de aplicaciones.

Especifica los módulos

La lista module contiene una lista de módulos JBoss existentes marcados con un signo más o menos. Solo los módulos marcados con un signo más se agregarán a la imagen de contenedor generada. Los módulos marcados con un signo menos, por ejemplo, (/system/layers/base) ya están presentes en la imagen de la comunidad y no se reemplazarán, a menos que los vuelvas a marcar con un signo más.

Configura la migración de datos sensibles

Para subir datos sensibles al repositorio, debes configurar el campo includeSensitiveData del plan de migración en true. Los objetos Secret se suben en secrets.yaml

El campo sensitiveDataPaths especifica las listas de archivos para filtrar del plan de migración. Estos archivos pueden contener información sensible como certificados, almacén de secretos, usuarios y contraseñas que usa JBoss. Si quitas una ruta de archivo del campo sensitiveDataPaths, el archivo se sube a la imagen.

¿Qué sigue?