自定义 JBoss 服务器的迁移计划

您应该查看创建迁移而生成的迁移计划文件。请先自定义该文件,然后再执行迁移。迁移计划的详细信息用于从来源中提取工作负载容器工件。

本部分介绍了迁移内容以及在执行迁移和生成部署工件之前您可以考虑的自定义种类。

须知事项

本文档假设您已经创建迁移并已有迁移计划文件。

修改迁移计划

复制并分析文件系统后,您可以在指定输出路径 ANALYSIS_OUTPUT_PATH/config.yaml 中创建的新目录中找到迁移计划。

根据需要修改迁移计划,然后保存更改。

迁移计划结构

JBoss 工作负载的迁移计划具有以下结构,您可以按照以下部分中的说明进行自定义。

# 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

如需根据需要添加信息,请查看迁移计划详情和指导意见。

具体而言,请考虑针对以下部分的修改。

指定 Docker 映像

在迁移计划中,我们根据 JBoss 版本生成 Docker 社区映像标记。检测到 JBoss 版本并将其转换为主要版本(不支持次要版本)。如果未能检测到 JBoss 版本,则 fromImage 将包含空字符串。

在迁移计划中,fromImage 字段表示用作容器映像基础的 Docker 映像标记。

在来源虚拟机上检测到的原始 JBoss 版本包含在初始探索生成的 discovery-report.yaml 中。

如果要更改 Docker 社区映像或提供专属 Docker 映像,您可以使用以下格式修改迁移计划中的 fromImage 标记:

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

targetImageHome 字段指定目标映像中 JBoss 主目录的路径,它来源于 fromImage 字段。除非您使用具有不同 JBoss 主目录值的 JBoss 映像,否则无需更改此字段的值。

指定应用

要从容器映像中排除应用,请从应用列表中移除它们。

指定模块

module 列表包含用加号或减号标记的现有 JBoss 模块列表。只有标有加号的模块才会添加到生成的容器映像中。标有减号的模块(例如 (/system/layers/base))已存在于社区映像中,除非您重新标记为加号,否则这些模块不会被覆盖。

配置敏感数据迁移

如需将敏感数据上传到存储库,您需要将迁移计划上的 includeSensitiveData 字段设置为 true。密钥在 secrets.yaml 中上传。

sensitiveDataPaths 字段指定要从迁移计划中滤除的文件列表。这些文件可能包含敏感信息,例如 JBos 使用的证书、密钥存储区、用户和密码。如果从 sensitiveDataPaths 字段中移除文件路径,则文件会上传到映像。

后续步骤