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
- Consulta cómo ejecutar la migración.