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
フィールドには、移行計画から除外するファイルのリストを指定します。このファイルには、証明書、Secret ストア、ユーザー、JBoss によって使用されるパスワードなどの機密情報が含まれる場合があります。sensitiveDataPaths
フィールドからファイルパスを削除すると、ファイルはイメージにアップロードされます。
次のステップ
- 移行の実行方法を学ぶ。