Personalizzare il piano di migrazione per i server JBoss

Dovresti esaminare il file del piano di migrazione generato dalla creazione di una migrazione. Personalizza il file prima di eseguire la migrazione. I dettagli del piano di migrazione vengono utilizzati per estrarre gli artefatti del contenitore del workload dall'origine.

Questa sezione descrive i contenuti della migrazione e i tipi di personalizzazioni che potresti prendere in considerazione prima di eseguire la migrazione e generare gli artefatti di deployment.

Prima di iniziare

Questo documento presuppone che tu abbia già creato una migrazione e che tu abbia il file del piano di migrazione.

Modificare il piano di migrazione

Dopo aver copiato e analizzato il file system, puoi trovare il piano di migrazione nella nuova directory creata nel percorso di output specificato: ANALYSIS_OUTPUT_PATH/config.yaml.

Modifica il piano di migrazione in base alle esigenze e salva le modifiche.

Struttura del piano di migrazione

Il piano di migrazione per un carico di lavoro JBoss ha la seguente struttura, che puoi personalizzare come descritto nelle sezioni seguenti.

# 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

Per aggiungere informazioni in base alle esigenze, esamina i dettagli del piano di migrazione e i commenti guida.

Nello specifico, valuta la possibilità di apportare modifiche alle seguenti sezioni.

Specifica l'immagine Docker

Nel piano di migrazione, generiamo un tag dell'immagine della community Docker in base alla versione JBoss. La versione JBoss viene rilevata e convertita in una versione principale (le versioni minori non sono supportate). Se non riusciamo a rilevare una versione JBoss, fromImage conterrà una stringa vuota.

Nel piano di migrazione, il campo fromImage rappresenta il tag immagine Docker usato come base dell'immagine container.

Le versioni JBoss originali rilevate nella VM di origine sono contenute in discovery-report.yaml, che viene generato dal rilevamento iniziale.

Se vuoi modificare l'immagine della community Docker o fornire la tua immagine Docker, puoi modificare il tag fromImage nel piano di migrazione utilizzando il seguente formato:

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

Il campo targetImageHome specifica il percorso della home directory di JBoss nell'immagine di destinazione e viene dedotto dal campo fromImage. Non è necessario modificare il valore di questo campo, a meno che non utilizzi un'immagine JBoss con un valore JBoss home diverso.

Specifica le applicazioni

Per escludere le applicazioni dall'immagine container, rimuovile dall'elenco.

Specifica i moduli

L'elenco module contiene un elenco dei moduli JBoss esistenti contrassegnati con un segno più o meno. Solo i moduli contrassegnati con un segno Più verranno aggiunti all'immagine contenitore generata. I moduli contrassegnati da un segno meno, ad esempio (/system/layers/base), sono già presenti nell'immagine della scheda Community e non verranno sovrascritti, a meno che non li contrassegni di nuovo con un segno più.

Configurare la migrazione dei dati sensibili

Per caricare dati sensibili nel repository, devi impostare il campo includeSensitiveData nel piano di migrazione su true. I secret vengono caricati in secrets.yaml.

Il campo sensitiveDataPaths specifica gli elenchi di file da escludere dal piano di migrazione. Questi file potrebbero contenere informazioni sensibili come certificati, secret store, utenti e password utilizzati da JBoss. Se rimuovi un percorso file dal campo sensitiveDataPaths, il file viene caricato nell'immagine.

Passaggi successivi