Personalizar el plan de migración de cargas de trabajo de WebSphere

Antes de empezar

En este documento se da por hecho que ya has creado una migración y tienes el archivo del plan de migración.

Editar el plan de migración

Una vez que haya copiado el sistema de archivos y lo haya analizado, podrá encontrar el plan de migración en el nuevo directorio que se crea en la ruta de salida especificada: ANALYSIS_OUTPUT_PATH/config.yaml.

Edita el plan de migración según sea necesario y guarda los cambios.

Revisa los detalles de tu plan de migración y los comentarios para añadir información según sea necesario.

En concreto, te recomendamos que hagas cambios en las siguientes secciones.

Estructura del plan de migración

El plan de migración de cargas de trabajo de WebSphere tiene la siguiente estructura, que puedes personalizar como se describe en las siguientes secciones.

# 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 aplicaciones

Para excluir aplicaciones de la migración, quítalas de la lista applications.

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

Controlar archivos de aplicaciones

Para controlar qué archivos de aplicación se incluyen o excluyen de la migración, actualice los campos configurations y 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 el entorno de ejecución de Java de destino

Para personalizar el entorno de ejecución de Java de destino de la aplicación, actualiza el campo targetJavaRuntime.

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

Haz los cambios siguientes:

  • SE: la versión de Java SE. Formato: [SE8|SE11|SE17].
  • EE: la versión de Java EE o Jakarta EE. Formato: [EE7|EE8|EE9|EE10].
  • VENDOR: el proveedor de Java. Formato: [IBM Corporation|Oracle Corporation].

Personalizar el servidor de aplicaciones de destino

Para personalizar el servidor de aplicaciones de destino de la aplicación, actualiza el campo targetApplicationServer.

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

Haz los cambios siguientes:

  • PROFILE: el perfil de WebSphere. Formato: [Liberty|Traditional].
  • TARGET_VERSION: la versión de WebSphere.
  • TARGET_EDITION: la edición de WebSphere. Formato: [Base|Core|Open|ND].

Personalizar el contenedor de destino

Para personalizar el contenedor de destino que se va a usar en la aplicación, actualiza el campo targetContainer.

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

Personalizar secretos de Kubernetes

De forma predeterminada, los archivos que se indican en el campo keystores se migran a secretos de Kubernetes. Si quieres migrar estos archivos tal cual, puedes inhabilitar esta función.

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

Personalizar puertos de Kubernetes

Para controlar qué puertos exponen los pods y servicios de Kubernetes, actualiza el 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

Siguientes pasos