WebSphere ワークロードの移行計画をカスタマイズする

始める前に

このドキュメントでは、すでに移行を準備し、移行計画ファイルが作成されていることを前提としています。

移行計画を編集する

ファイル システムをコピーして分析すると、指定した出力パス(ANALYSIS_OUTPUT_PATH/config.yaml)に新しく作成されたディレクトリに移行計画が作成されます。

この移行計画を必要に応じて編集し、変更を保存します。

移行計画の詳細とコメントを確認して、必要に応じて情報を追加します。

特に、次のセクションに関する編集を検討してください。

移行計画の構造

WebSphere ワークロードの移行計画の構造は次のとおりです。次のセクションで説明するようにカスタマイズできます。

# List of discovered WebSphere application servers and how to migrate their
# hosted applications to containers.
webSphereApplicationServers:
# The application server installation path.
- home: /opt/ibm/wlp
  applicationServerInfo:
    name: WebSphere Application Server
    profile: Liberty
    version: 23.0.0.4
    edition: Base
    # List of Java installations available to the application server.
    javaDevelopmentKits:
    - home: /opt/ibm/java
      vendor: IBM Corporation
      version:
        jdk: java version 1.8.0_361
        jre: Java(TM) SE Runtime Environment
        jvm: IBM J9 VM
  # List of hosted applications and how to migrate them to containers.
  applications:
  - path: /opt/ibm/wlp/usr/servers/defaultServer/apps/app.war
    # Application archives to be migrated into the target container.
    archives:
    - /opt/ibm/wlp/usr/servers/defaultServer/apps/app.war
    # Application configuration files to be migrated into the target container.
    configurations:
      serverXML: /opt/ibm/wlp/usr/servers/defaultServer/server.xml
      serverEnv:
      - /opt/ibm/wlp/usr/servers/defaultServer/server.env
      bootstrapProperties:
      - /opt/ibm/wlp/usr/servers/defaultServer/bootstrap.properties
      variableProperties:
      - /opt/ibm/wlp/usr/servers/defaultServer/variables/variable.properties
      jvmOptions:
      - /opt/ibm/wlp/usr/servers/defaultServer/jvm.options
    # Application resource files to be migrated into the target container.
    resources:
      locations:
      - /opt/ibm/wlp/usr/servers/defaultServer/resources/ports.xml
      libraries:
      - /opt/ibm/wlp/usr/servers/defaultServer/resources/postgresql.jar
      keystores:
      - /opt/ibm/wlp/output/defaultServer/resources/security/key.p12
      sharedResources:
        - /opt/ibm/wlp/usr/shared/resources/jdbc.jar
      additionalResources:
      - /opt/ibm/wlp/output/defaultServer/resources/mongodb.jar
    javaRuntime:
      se: SE8
      ee: EE7
      vendor: IBM Corporation
    targetJavaRuntime:
      se: SE8
      ee: EE7
      vendor: IBM Corporation
    targetApplicationServer:
      profile: Liberty
      version: 23.0.0.4
      edition: Base
    targetContainer:
      # The target container base image name.
      baseImage: ibmcom/websphere-liberty:full-java8-ibmjava-ubi
      # The application server installation path within the target container
      # base image.
      home: /opt/ibm/wlp
      # The application server default server name.
      server: defaultServer
      # The UID or name of the user configured within the target container
      # base image. Defaults to 1001 for Liberty profile.
      user: "1001"
      # The GID or name of the group configured within the target container
      # base image. Defaults to 0 for Liberty profile.
      group: "0"
      # Application ports to be exposed in Kubernetes artifacts.
      ports:
      - name: http-tcp-9080
        port: 9080
        protocol: TCP
      - name: https-tcp-9443
        port: 9443
        protocol: TCP
      # Specify whether discovered keystores are automatically converted to
      # Kubernetes secrets. Defaults to true.
      enableSecrets: true

アプリケーションを除外する

移行の対象外にするアプリケーションを applications リストから削除します。

  applications:
  # Exclude app1.war:
  # - path: app1.war
  #  ...
  - path: app2.war

アプリケーション ファイルを制御する

アプリケーション ファイルを移行の対象外にするかどうかを制御するには、configurations フィールドと resources フィールドを更新します。

  applications:
  - path: app.war
    resources:
      keystores:
      # Exclude key1.p12:
      # - key1.p12
      # Include key2.p12:
      - key2.p12
      additionalResources:
      # Exclude resource1.xml:
      # - resource1.xml
      # Include resource2.xml:
      - resource2.xml

ターゲット Java ランタイムをカスタマイズする

アプリケーションのターゲット Java ランタイムをカスタマイズするには、targetJavaRuntime フィールドを更新します。

  applications:
  - path: app.war
    targetJavaRuntime:
      se: SE
      ee: EE
      vendor: VENDOR

次のように置き換えます。

  • SE: Java SE のバージョン。形式: [SE8|SE11|SE17]。
  • EE: Java EE または Jakarta EE のバージョン。形式: [EE7|EE8|EE9|EE10]。
  • VENDOR: Java ベンダー。形式: [IBM Corporation|Oracle Corporation]。

ターゲット アプリケーション サーバーをカスタマイズする

アプリケーションのターゲット アプリケーション サーバーをカスタマイズするには、targetApplicationServer フィールドを更新します。

  applications:
  - path: app.war
    targetApplicationServer:
      profile: PROFILE
      version: VERSION
      edition: EDITION

次のように置き換えます。

  • PROFILE: WebSphere プロファイル。形式: [Liberty|Traditional]。
  • TARGET_VERSION: WebSphere のバージョン。
  • TARGET_EDITION: WebSphere のエディション。形式: [Base|Core|Open|ND]。

ターゲット コンテナをカスタマイズする

アプリケーションに使用するターゲット コンテナをカスタマイズするには、targetContainer フィールドを更新します。

  applications:
  - path: app.war
    targetContainer:
      baseImage: BASE_IMAGE
      home: HOME
      server: SERVER
      user: USER
      group: GROUP

Kubernetes Secret をカスタマイズする

デフォルトでは、keystores フィールドに指定されているファイルが Kubernetes Secret に移行されます。このファイルをそのまま移行する場合は、この機能を無効にします。

  applications:
  - path: app.war
    resources:
      keystores:
      - key.p12
    targetContainer:
      # Do not migrate keystores to Kubernetes secrets:
      enableSecrets: false

Kubernetes ポートをカスタマイズする

Kubernetes Pod と Service が公開するポートを操作するには、ports フィールドを更新します。

  applications:
  - path: app.war
    targetContainer:
      ports:
      # Exclude http-tcp-9080:
      # - name: http-tcp-9080
      #   port: 9080
      #   protocol: TCP
      # Include https-tcp-9443:
      - name: https-tcp-9443
        port: 9443
        protocol: TCP

次のステップ