Personalizzare il piano di migrazione per i workload WebSphere

Prima di iniziare

Questo documento presuppone che tu abbia già creato una migrazione e che tu abbia il file del piano di migrazione.

Modificare il piano di migrazione

Dopo aver copiato e analizzato il file system, puoi trovare il piano di migrazione nella nuova directory creata nel percorso di output specificato: ANALYSIS_OUTPUT_PATH/config.yaml.

Modifica il piano di migrazione in base alle esigenze e salva le modifiche.

Esamina i dettagli del piano di migrazione e i commenti guida per aggiungere le informazioni necessarie.

Nello specifico, valuta la possibilità di apportare modifiche alle seguenti sezioni.

Struttura del piano di migrazione

Il piano di migrazione per i carichi di lavoro WebSphere ha la seguente struttura, che puoi personalizzare come descritto nelle sezioni seguenti.

# 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

Escludere le applicazioni

Per escludere le applicazioni dalla migrazione, rimuovile dall'elenco applications.

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

Controllare i file dell'applicazione

Per controllare i file dell'applicazione inclusi o esclusi dalla migrazione, aggiorna i campi 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

Personalizzare il runtime Java di destinazione

Per personalizzare il runtime Java target per l'applicazione, aggiorna il campo targetJavaRuntime.

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

Sostituisci quanto segue:

  • SE: la versione Java SE. Formato: [SE8|SE11|SE17].
  • EE: la versione Java EE o Jakarta EE. Formato: [EE7|EE8|EE9|EE10].
  • VENDOR: il fornitore Java. Formato: [IBM Corporation|Oracle Corporation].

Personalizzare il server di applicazioni di destinazione

Per personalizzare il server applicazioni di destinazione per l'applicazione, aggiorna il campo targetApplicationServer.

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

Sostituisci quanto segue:

  • PROFILE: il profilo WebSphere. Formato: [Liberty|Traditional].
  • TARGET_VERSION: la versione di WebSphere.
  • TARGET_EDITION: la versione WebSphere. Formato: [Base|Core|Open|ND].

Personalizzare il contenitore di destinazione

Per personalizzare il contenitore di destinazione da utilizzare per l'applicazione, aggiorna il campo targetContainer.

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

Personalizzare i secret di Kubernetes

Per impostazione predefinita, la migrazione dei file elencati nel campo keystores viene eseguita nei secret di Kubernetes. Per eseguire la migrazione di questi file così come sono, puoi disattivare questa funzionalità.

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

Personalizzare le porte Kubernetes

Per controllare quali porte sono esposte dai pod e dai servizi Kubernetes, aggiorna il 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

Passaggi successivi