Riferimento CRD

Puoi eseguire tutti gli aspetti di una migrazione modificando e applicando CRD invece di migctl. Questa sezione mostra il formato dei CRD utilizzati da Migrate to Containers.

CRD Migration

Applica un file .yaml di migrazione per creare una risorsa di migrazione. In un file .yaml di migrazione, source-provider-name è il nome di un file .yaml di SourceProvider creato in precedenza.

L'applicazione di un file .yaml di migrazione genera un file .yaml di WebSphereGenerateArtifactsFlow. Puoi quindi modificare o modificare questo file .yaml prima di eseguire la migrazione.

Il file .yaml di migrazione ha il formato seguente:

apiVersion: anthos-migrate.cloud.google.com/v1beta2
kind: Migration
metadata:
  name: migration-name
  namespace: v2k-system
  annotations:
    # The only supported Intent for a WAS VM is Image.
    anthos-migrate.cloud.google.com/initial-intent: Image
spec:
  osType: "Linux"
  appType: websphere-traditional
  sourceSnapshot:
    sourceProvider: "source-provider-name"
    sourceId: "vm-id"

CRD WebSphereGenerateArtifactsFlow

L'applicazione di un file .yaml di migrazione crea una risorsa di migrazione e un file .yaml di WebSphereGenerateArtifactsFlow. Ti consigliamo di esaminare e aggiornare il file .yaml WebSphereGenerateArtifactsFlow prima di eseguire la migrazione.

Il file .yaml di WebSphereGenerateArtifactsFlow ha il seguente formato:

apiVersion: anthos-migrate.cloud.google.com/v1beta2
kind: WebSphereGenerateArtifactsFlow
metadata:
  name: websphere-generate-artifacts-flow-id
  namespace: v2k-system
  annotations:
    anthos-migrate.cloud.google.com/always-retake-snapshot: "false"
  ownerReferences:
  - apiVersion: anthos-migrate.cloud.google.com/v1beta2
    blockOwnerDeletion: true
    controller: true
    kind: Migration
    name: migration-name
    uid: id

spec:
  appBinariesMigrationToolkit:
    applications:
      path: "string1"
      # List of shared libraries for the app as discovered by Migrate to Containers.
      sharedLibraries:
      - sharedLibrary1
        sharedLibrary2
      path: "string2"
      sharedLibraries:
      - sharedLibrary1
  ibmMigrationToolkitForAppBinariesGcsPath: binaryAppScanner.jar
  # See description of includeSensitiveData below.
  includeSensitiveData: true | false

  #  WAS traditional migrations do not support the "ImageAndData" or "Data" intent.
  intent: "Image"

  image:
    # imageRepository is optional.
    imageRepository:
      name: name of image repo spec
    base: "string"
    name: "image_name"

  deployment:
    appName: app-name
      # artifactsRepository is optional.
      artifactsRepository:
    name:
      spec:
        bucket: bucket_name
        credentials:
          type: gcs
          secret: secret
    folder: storage-folder-name/

Dove:

  • Il valore del campo image definisce il nome e la posizione delle immagini create da una VM migrata. Per impostazione predefinita, al valore "image_name" viene applicato automaticamente un tag corrispondente al timestamp della migrazione. Il formato di questo tag è:

    MM-DD-YYYY--hh:mm:ss

    Puoi utilizzare il timestamp per differenziare le migrazioni. In alternativa, puoi applicare il tuo tag. Modifica il CRD e aggiungi il tag come mostrato di seguito:

    name: "image_name:app1"

  • Il campo deployment specifica il nome dell'applicazione utilizzata nel file deployment_spec.yaml. Imposta questo campo su un valore univoco per ogni app nel CRD. Devi assicurarti di eseguire il deployment di ogni container di app con un proprio nome app univoco.

  • includeSensitiveData configura il modo in cui una migrazione gestisce una password per l'app. Se l'app è configurata per utilizzare una password, imposta questa proprietà:

    • Se false, lo script .py utilizzato per creare l'app fa riferimento a una variabile contenente la password. Sta a te configurare correttamente la variabile prima di eseguire lo script di build.

    • Se il criterio true è predefinito, incorpora la password di solo testo nello script di build .py per l'app.

CRD WebSphereGenerateArtifactsTask

Applicare un file .yaml WebSphereGenerateArtifactsTask per eseguire una migrazione. Devi specificare il nome del file .yaml di migrazione utilizzato per generare il file .yaml di WebSphereGenerateArtifactsFlow per eseguire la migrazione.

Il file .yaml di WebSphereGenerateArtifactsTask ha il seguente formato:

apiVersion: anthos-migrate.cloud.google.com/v1beta2
kind: WebSphereGenerateArtifactsTask
metadata:
  name: task-name
  namespace: v2k-system
spec:
  migration:
    name: migration-name

Imposta il valore del campo migration.name per la migrazione sul nome specificato nel file YAML .yaml quando hai creato la migrazione.