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 フィールドからファイルパスを削除すると、ファイルはイメージにアップロードされます。

次のステップ