Personalizar o plano de migração para cargas de trabalho do WebSphere

Antes de começar

Neste documento, consideramos que você já criou uma migração e tem o arquivo do plano de migração.

Editar o plano de migração

Depois de copiar o sistema de arquivos e analisá-lo, encontre o plano de modernização no novo diretório criado no caminho de saída especificado: ANALYSIS_OUTPUT_PATH/config.yaml.

Edite o plano de migração conforme necessário e salve as alterações.

Revise os detalhes do plano de migração e os comentários de orientação para adicionar informações conforme necessário.

Mais especificamente, considere editar as seguintes seções:

Estrutura do plano de migração

O plano de migração para as cargas de trabalho do WebSphere tem a seguinte estrutura, que pode ser personalizada conforme descrito nas seções a seguir.

# 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

Excluir aplicativos

Para excluir aplicativos da migração, remova-os da lista de applications.

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

Controlar arquivos de aplicativos

Para controlar quais arquivos de aplicativos serão incluídos na migração ou excluídos dela, atualize os campos configurations e 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

Personalizar o ambiente de execução do Java de destino

Para personalizar o ambiente de execução do Java de destino para o aplicativo, atualize o campo targetJavaRuntime.

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

Substitua:

  • SE: a versão do Java SE. Formato: [SE8|SE11|SE17].
  • EE: a versão do Java EE ou de Jacarta EE. Formato: [EE7|EE8|EE9|EE10].
  • VENDOR: o fornecedor do Java. Formato: [IBM Corporation|Oracle Corporation].

Personalizar o servidor de aplicativos de destino

Para personalizar o servidor de aplicativos de destino, atualize o campo targetApplicationServer.

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

Substitua:

  • PROFILE: o perfil do WebSphere. Formato: [Liberty|Tradicional].
  • TARGET_VERSION: a versão do WebSphere.
  • TARGET_EDITION: a edição WebSphere. Formato: [Base|Core|Open|ND].

Personalizar o contêiner de destino

Para personalizar o contêiner de destino a ser usado para o aplicativo, atualize o campo targetContainer.

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

Personalizar secrets do Kubernetes

Por padrão, os arquivos listados no campo keystores são migrados para secrets do Kubernetes. Para migrar esses arquivos no estado em que se encontram, desative esse recurso.

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

Personalizar portas do Kubernetes

Para controlar quais portas serão expostas pelos pods e Serviços do Kubernetes, atualize o campo 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

A seguir