Personnaliser le plan de migration pour les serveurs JBoss

Vous devez examiner le fichier de plan de migration résultant de la création d'une migration. Personnalisez le fichier avant d'exécuter la migration. Les détails de votre plan de migration sont utilisés pour extraire les artefacts de conteneur de charge de travail de la source.

Cette section décrit le contenu de la migration et les types de personnalisations que vous pouvez envisager avant d'exécuter la migration et de générer des artefacts de déploiement.

Avant de commencer

Ce document suppose que vous avez déjà créé une migration et que vous disposez du fichier de plan de migration.

Modifier le plan de migration

Une fois le système de fichiers copié et analysé, vous trouverez le plan de migration dans le nouveau répertoire qui est créé dans le chemin de sortie spécifié : ANALYSIS_OUTPUT_PATH/config.yaml.

Modifiez le plan de migration si nécessaire et enregistrez les modifications.

Structure du plan de migration

Le plan de migration d'une charge de travail JBoss présente la structure suivante, que vous pouvez personnaliser comme décrit dans les sections suivantes.

# 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

Pour ajouter les informations nécessaires, consultez les détails de votre plan de migration et les commentaires guidées.

Vous pouvez plus précisément envisager des modifications telles qu'elles sont décrites dans les sections suivantes.

Spécifier l'image Docker

Dans le plan de migration, nous générons un tag d'image de la communauté Docker basé sur la version JBoss. La version JBoss est détectée et convertie en version majeure (les versions mineures ne sont pas compatibles). Si nous ne parvenons pas à détecter une version JBoss, le fichier fromImage contient une chaîne vide.

Sur le plan de migration, le champ fromImage représente le tag d'image Docker utilisé comme base de l'image du conteneur.

Les versions d'origine JBoss détectées sur la VM source sont contenues dans le fichier discovery-report.yaml généré par la découverte initiale.

Si vous souhaitez modifier l'image de la communauté Docker ou fournir votre propre image Docker, vous pouvez modifier le tag fromImage dans votre plan de migration au format suivant :

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

Le champ targetImageHome spécifie le chemin d'accès au répertoire d'accueil JBoss dans l'image cible et est dérivé du champ fromImage. Vous n'avez pas besoin de modifier la valeur de ce champ, sauf si vous utilisez une image JBoss avec une valeur d'accueil différente.

Spécifier des applications

Pour exclure des applications de l'image de conteneur, supprimez-les de la liste des applications.

Spécifier des modules

La liste module contient une liste des modules JBoss existants marqués d'un signe plus ou moins. Seuls les modules marqués d'un signe plus seront ajoutés à l'image de conteneur générée. Les modules marqués d'un signe moins, par exemple (/system/layers/base), sont déjà présents dans l'image de la communauté et ne seront pas écrasés, sauf si vous les remarquez avec un signe plus.

Configurer la migration des données sensibles

Pour importer des données sensibles dans le dépôt, vous devez définir le champ includeSensitiveData du plan de migration sur true. Les secrets sont importés dans secrets.yaml.

Le champ sensitiveDataPaths indique les listes de fichiers à filtrer à partir du plan de migration. Ces fichiers peuvent contenir des informations sensibles telles que des certificats, un magasin de secrets, des utilisateurs et des mots de passe utilisés par JBoss. Si vous supprimez un chemin d'accès dans le champ sensitiveDataPaths, le fichier est importé dans l'image.

Étapes suivantes