Personalizar el plan de migración de servidores JBoss

Debes revisar el archivo del plan de migración que se ha generado al crear una 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 del contenedor de carga de trabajo del origen.

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 empezar

En este documento se da por hecho que ya has creado una migración y tienes el archivo del plan de migración.

Editar el plan de migración

Una vez que haya copiado el sistema de archivos y lo haya analizado, podrá encontrar el plan de migración en el nuevo directorio 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 de una carga de trabajo de JBoss tiene la siguiente estructura, que puedes personalizar tal como se describe en las secciones siguientes.

# 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 añadir información según sea necesario, revisa los detalles de tu plan de migración y los comentarios.

En concreto, te recomendamos que hagas cambios en las siguientes secciones.

Especificar 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. Se detecta la versión de JBoss y se convierte a una versión principal (no se admiten versiones secundarias). Si no detectamos una versión de JBoss, fromImage contendrá una cadena 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 de contenedor.

Las versiones originales de JBoss detectadas en la VM de origen se encuentran en discovery-report.yaml, que se genera en la detección inicial.

Si quieres cambiar la imagen de la comunidad de Docker o proporcionar tu propia imagen de Docker, puedes modificar la etiqueta fromImage de 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 que cambies el valor de este campo a menos que uses una imagen de JBoss con un valor de directorio principal de JBoss diferente.

Especificar aplicaciones

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

Especificar módulos

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

Configurar la migración de datos sensibles

Para subir datos sensibles al repositorio, debes definir el campo includeSensitiveData del plan de migración como true. Los secretos se suben a secrets.yaml.

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

Siguientes pasos