Personalize o plano de migração para servidores JBoss
Deve rever o ficheiro do plano de migração resultante da criação de uma migração. Personalize o ficheiro antes de executar a migração. Os detalhes do seu plano de migração são usados para extrair os artefactos do contentor da carga de trabalho da origem.
Esta secção descreve o conteúdo da migração e os tipos de personalizações que pode considerar antes de executar a migração e gerar artefactos de implementação.
Antes de começar
Este documento pressupõe que já criou uma migração e tem o ficheiro do plano de migração.
Edite o plano de migração
Depois de copiar o sistema de ficheiros e analisá-lo, pode encontrar o plano de migração no novo diretório criado no caminho de saída especificado: ANALYSIS_OUTPUT_PATH/config.yaml
.
Edite o plano de migração conforme necessário e guarde as alterações.
Estrutura do plano de migração
O plano de migração para uma carga de trabalho do JBoss tem a seguinte estrutura, que pode personalizar conforme descrito nas secções seguintes.
# 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 adicionar informações conforme necessário, reveja os detalhes do plano de migração e os comentários orientadores.
Em concreto, considere fazer edições nas seguintes secções.
Especifique a imagem do Docker
No plano de migração, geramos uma etiqueta de imagem da comunidade Docker com base na versão do JBoss. A versão do JBoss é detetada e convertida numa versão principal (as versões secundárias não são suportadas). Se não detetarmos uma versão do JBoss, fromImage
vai conter uma string vazia.
No plano de migração, o campo fromImage
representa a etiqueta da imagem Docker usada como base da imagem do contentor.
As versões originais do JBoss detetadas na VM de origem estão contidas em
discovery-report.yaml
, que é gerado pela descoberta inicial.
Se quiser alterar a imagem da comunidade Docker ou fornecer a sua própria imagem Docker,
pode modificar a etiqueta fromImage
no seu plano de migração com o seguinte formato:
# Parent Wildfly image for the generated container image. fromImage: docker.io/jboss/wildfly:10.1.0.Final
O campo targetImageHome
especifica o caminho do diretório inicial do JBoss na imagem de destino e é derivado do campo fromImage
. Não precisa de alterar o valor deste campo, a menos que use uma imagem JBoss com um valor de diretório base do JBoss diferente.
Especifique as aplicações
Para excluir aplicações da imagem do contentor, remova-as da lista de aplicações.
Especificar módulos
A lista module
contém uma lista de módulos JBoss existentes marcados com um sinal de mais ou de menos. Apenas os módulos marcados com um sinal de mais são adicionados à imagem do contentor gerada. Os módulos marcados com um sinal de menos, por exemplo, (/system/layers/base)
, já estão presentes na imagem da comunidade e não são substituídos, a menos que os marque novamente com um sinal de mais.
Configure a migração de dados confidenciais
Para carregar dados confidenciais para o repositório, tem de definir o campo includeSensitiveData
no plano de migração como true
.
Os segredos são carregados em secrets.yaml
.
O campo sensitiveDataPaths
especifica as listas de ficheiros a filtrar do plano de migração. Estes ficheiros podem conter informações confidenciais, como
certificados, armazenamento secreto, utilizadores e palavras-passe usados pelo JBoss. Se remover um caminho do ficheiro do campo sensitiveDataPaths
, o ficheiro é carregado para a imagem.
O que se segue?
- Saiba como executar a migração.