Esegui una migrazione

Puoi iniziare la migrazione delle VM con un comando che genera artefatti del container di destinazione e li estrae utilizzando il cluster di elaborazione creato nella sezione Installazione di Migrate to Containers.

Questo argomento descrive come eseguire una migrazione a:

  • Estrai gli artefatti dei carichi di lavoro dalla VM in un'immagine container e un volume di dati (per carichi di lavoro stateful).
  • Copia un'immagine container della tua VM in un Container Registry.
  • Genera artefatti di deployment della migrazione da utilizzare per i deployment di produzione.

Una volta completato questo passaggio, sarai in grado di:

  • Testa il volume di immagini e dati (per i carichi di lavoro stateful) sul cluster di elaborazione.

    Anche se non hai ancora eseguito il deployment dell'immagine in un cluster separato, è eseguibile e testabile. Al termine della migrazione, l'immagine non è connessa alla VM di origine.

  • Esegui il deployment del volume di immagini e dati (per i carichi di lavoro stateful) in un altro cluster.

Prima di iniziare

Per avere successo, devi prima eseguire queste operazioni:

Esegui la migrazione e genera gli artefatti

Utilizza il comando migctl migration generate-artifacts o la console Google Cloud per generare artefatti di container di destinazione come parte dell'elaborazione di una VM per la migrazione.

migctl

  1. Esegui la migrazione:

    migctl migration generate-artifacts my-migration
  2. Visualizza lo stato della migrazione:

    migctl migration status my-migration

Console

  1. Apri la pagina Migrate to Containers nella console Google Cloud.

    Vai alla pagina Migrate to Containers

  2. Fai clic sulla scheda Migrazioni per visualizzare una tabella contenente le migrazioni disponibili.

  3. Nella riga della migrazione che ti interessa, seleziona Genera artefatti nel menu a discesa Passaggi successivi.

  4. Visualizza lo stato di una migrazione per:

    • Visualizzazione della colonna Stato per la riga relativa alla migrazione.

    • Fai clic sul Nome della migrazione. Viene visualizzata la scheda Dettagli della migrazione. Fai clic sulla scheda Monitoring per visualizzare lo stato dettagliato o sulla scheda Eventi per visualizzare gli eventi di migrazione.

  5. Quando lo Stato della migrazione è Artefatti generati, puoi andare al passaggio successivo.

CRD

Linux, Windows e Tomcat

  1. Ottieni il nome di AppXGenerateArtifactsFlow utilizzando il nome specificato nel file YAML migration quando hai creato la migrazione:

    kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system my-migration  -o jsonpath={.status.migrationPlanRef.name}

  2. Crea un file AppXGenerateArtifactsTask my-generate.yaml per definire un'attività di generazione degli artefatti.

    In questo file, migration specifica il nome della migrazione al momento della sua creazione, mentre flow rappresenta lo AppxGenerateArtifactsFlow della migrazione ricevuta nel passaggio precedente:

    apiVersion: anthos-migrate.cloud.google.com/v1beta2
    kind: AppXGenerateArtifactsTask
    metadata:
     name: my-migration-task
     namespace: v2k-system
    spec:
     migration:
       name:  my-migration
     flow:
       name:  appx-generateartifactsflow-my-migration
  3. Applica il file:

    kubectl apply -f my-generate.yaml

Quando generi artefatti per carichi di lavoro, Migrate to Containers scrive gli artefatti e li carica in un bucket Cloud Storage. Il file di directory degli artefatti contiene:

  • Dockerfile: il Dockerfile utilizzato per creare l'immagine per la VM migrata.
  • deployment_spec.yaml: il file YAML che configura il carico di lavoro.
  • secrets.yaml - Un file YAML dei secret che contiene dati sensibili potrebbe essere aggiunto anche alla directory degli artefatti.

    Puoi utilizzare kubectl apply con questo file per eseguire il deployment del carico di lavoro in un cluster, ad esempio un cluster di produzione o di test.

  • Directory e file estratti dall'origine e utilizzati dal Dockerfile.

Scarica gli artefatti generati

Per scaricare gli artefatti dei container generati in questa directory nidificata, esegui questo comando:

migctl migration get-artifacts my-migration

A seconda del plug-in e del piano di migrazione, gli artefatti generati contengono uno o più file Docker che vengono utilizzati per creare immagini container e una o più specifiche di deployment Kubernetes.

Inoltre, Migrate to Containers genera una configurazione Skaffold che puoi utilizzare per creare e eseguire il deployment di tutte le immagini generate in un solo passaggio in tempi rapidi.

Passaggi successivi