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
Cet article suppose que vous avez déjà créé une migration et que vous disposez du fichier de plan de migration.
Modifier le plan de migration
Vous pouvez modifier le plan de migration à l'aide de l'outil migctl
ou de la console Google Cloud.
migctl
Vous devez télécharger le plan de migration avant de pouvoir le modifier :
Téléchargez le plan de migration.
migctl migration get my-migration
Modifiez le plan de migration téléchargé,
my-migration.yaml
, dans un éditeur de texte.Une fois les modifications effectuées, enregistrez et importez le plan de migration révisé :
migctl migration update my-migration --main-config my-migration.yaml
Répétez ces étapes si d'autres modifications sont nécessaires.
Console
Modifiez le plan de migration dans Google Cloud Console à l'aide de l'éditeur YAML.
Ouvrez la page "Migrate to Containers" dans la console Google Cloud.
Cliquez sur l'onglet Migrations pour afficher un tableau contenant les migrations disponibles.
Sur la ligne de la migration souhaitée, sélectionnez le Nom de la migration pour ouvrir l'onglet Détails.
Sélectionnez l'onglet YAML.
Modifiez le plan de migration si nécessaire.
Une fois les modifications terminées, vous pouvez effectuer l'une des opérations suivantes :
Enregistrez le plan de migration. Vous devrez ensuite exécuter manuellement la migration pour générer les artefacts de migration. Suivez la procédure décrite dans la section Exécuter une migration.
Enregistrez et générez les artefacts. Exécutez la migration en utilisant vos modifications pour générer les artefacts de migration. Le processus est le même que celui décrit dans la section Exécuter une migration. Vous pouvez ensuite surveiller la migration, comme décrit dans la section Surveiller une migration.
CRD
Vous devez télécharger le plan de migration, le modifier, puis l'appliquer.
Le plan de migration est stocké dans le champ appXGenerateArtifactsConfig
de l'objet CRD AppXGenerateArtifactsFlowSpec :
Obtenez le nom de l'élément
AppXGenerateArtifactsFlow
:kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.migrationPlanRef.name} my-migration
Le modèle de dénomination est renvoyé au format
appx-generateartifactsflow-id
.Récupérez le plan de migration par nom et écrivez dans un fichier nommé
my-plan.yaml
:kubectl -n v2k-system get appxgenerateartifactsflows.anthos-migrate.cloud.google.com -o jsonpath={.spec.appXGenerateArtifactsConfig} appx-generateartifactsflow-id > my-plan.yaml
Modifiez le plan de migration si nécessaire.
Appliquez le fichier :
kubectl patch appxgenerateartifactsflows.anthos-migrate.cloud.google.com --type merge -n v2k-system --patch '{"spec": {"appXGenerateArtifactsConfig": '"$(jq -n --rawfile plan my-plan.yaml '$plan')"'}}' appx-generateartifactsflow-id
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 autre valeur d'accueil JBoss.
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
spécifie 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
Linux
Migrer à l'aide de Google Cloud
Déploiement
- Examiner les artefacts générés.
- Configurer la journalisation.
- Installer des volumes externes.
- Déployer une charge de travail sur un cluster cible.
- Déployer des VM migrées.
- Mettre à jour des images post-migration
- Surveiller la charge de travail migrée.
- Testez votre application à migrer et validez la migration.
Windows
Migrer à l'aide de Google Cloud
Déployer
- Préparer un cluster pour le déploiement.
- Déployer des VM migrées.
- Surveiller la charge de travail migrée.
- Testez votre application à migrer et validez la migration.
Tomcat
Migrer à l'aide d'un ordinateur local
Migrer à l'aide de Google Cloud
Déployer
- Préparer un cluster pour le déploiement.
- Créer et déployer des images de conteneurs.
- Surveiller la charge de travail migrée.
- Testez votre application à migrer et validez la migration.
WebSphere
Migrer à l'aide d'un ordinateur local
Migrer à l'aide de Google Cloud
- Présentation de la migration.
- Conditions requises.
- Avant de commencer.
- Ajouter une source de migration.
- Créer un plan de migration.
- Migrer les données.
- Personnaliser le plan de migration.
- Exécuter la migration.
- Surveiller la migration.
- Créer une image de conteneur d'application.
- Déployer un conteneur d'application sur un cluster cible.
- Supprimer une migration.
- Dépannage.
Déployer
- Préparer un cluster pour le déploiement.
- Créer et déployer des images de conteneurs.
- Surveiller la charge de travail migrée.
- Testez votre application à migrer et validez la migration.
JBoss
Migrer à l'aide d'un ordinateur local
Migrer à l'aide de Google Cloud
Déployer
- Préparer un cluster pour le déploiement.
- Créer et déployer des images de conteneurs.
- Surveiller la charge de travail migrée.
- Testez votre application à migrer et validez la migration.
Apache
Migrer à l'aide d'un ordinateur local
Migrer à l'aide de Google Cloud
Déployer
- Préparer un cluster pour le déploiement.
- Créer et déployer des images de conteneurs.
- Surveiller la charge de travail migrée.
- Testez votre application à migrer et validez la migration.
WordPress
Migrer à l'aide de Google Cloud
Déployer
- Préparer un cluster pour le déploiement.
- Créer et déployer des images de conteneurs.
- Surveiller la charge de travail migrée.
- Testez votre application à migrer et validez la migration.