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
필드에서 파일 경로를 삭제하면 파일이 이미지에 업로드됩니다.
다음 단계
- 마이그레이션 실행 방법 알아보기