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 이미지 태그를 나타냅니다.

소스 VM에서 감지된 원본 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 필드는 마이그레이션 계획에서 필터링할 파일 목록을 지정합니다. 이러한 파일에는 인증서, 보안 비밀 저장소, 사용자, JBoss에 사용되는 비밀번호와 같은 민감한 정보가 포함될 수 있습니다. sensitiveDataPaths 필드에서 파일 경로를 삭제하면 파일이 이미지에 업로드됩니다.

다음 단계