Creare un piano di migrazione
Per iniziare la migrazione delle VM, crea una migrazione. Questo genera un oggetto del piano di migrazione. In genere sono necessarie ulteriori revisioni e personalizzazioni del piano generato prima di eseguire la migrazione.
La migrazione è l'oggetto centrale con cui puoi eseguire azioni, monitorare lo stato e le attività di migrazione con migctl
e la console Google Cloud. L'oggetto di migrazione viene implementato come definizione di risorse personalizzate (CRD) di Kubernetes ed è contenuto insieme a risorse aggiuntive, come un PersistentVolumeClaim
Kubernetes, nel piano di migrazione.
Prima di iniziare
- Aggiungi un'origine della migrazione.
- Trova l'ID istanza della macchina virtuale (VM), come descritto nella sezione seguente.
- Se utilizzi Compute Engine come origine della migrazione, arresta la VM di origine prima di creare una migrazione. Dopo aver creato l'oggetto di migrazione, puoi riavviare la VM.
Trovare l'ID VM
Puoi trovare l'ID VM esplorando l'inventario VM o cercandolo manualmente, a seconda del tipo di origine.
Trovare l'ID utilizzando l'inventario VM
Quando utilizzi
migctl
, puoi visualizzare un elenco di VM utilizzando il seguente comando:migctl source list-vms <name> [ --refresh ] [ --wide ]
Quando utilizzi la console Google Cloud, vai al tipo di origine: troverai una tabella che elenca tutte le VM di quel tipo.
Trovare manualmente l'ID
Puoi trovare l'ID VM manualmente in base al tipo di origine:
Compute Engine
vmId
: nome della VM visualizzato nella console Google Cloud.
VMware
vmId
: ID o nome della VM di cui eseguire la migrazione, così come è noto sulla piattaforma di origine. Puoi utilizzare uno dei seguenti valori.Il nome della VM. Se hai la certezza che ogni nome di VM sia univoco nel deployment VMware, il nome semplice della VM funziona. Se è possibile che i nomi delle VM siano duplicati, utilizza l'ID VM come descritto di seguito.
Puoi ottenere il nome della VM dal client web vSphere, come mostrato nell'immagine seguente.
L'ID VM di vSphere (chiamato anche MoRef). È visibile dall'URL del client web vSphere quando si seleziona la VM.
Puoi trovare anche il MoRef utilizzando PowerCLI.
Requisiti di denominazione
Puoi assegnare un nome a una migrazione quando la crei in Migrate to Containers. Il nome deve soddisfare i seguenti requisiti:
- Contenere al massimo 63 caratteri.
- Contenere solo caratteri alfanumerici minuscoli o "-" (trattino).
- Deve iniziare con un carattere alfanumerico.
- Deve terminare con un carattere alfanumerico.
Carichi di lavoro supportati
Crea una migrazione
Carichi di lavoro Linux e Windows
Crea una migrazione utilizzando lo strumento migctl
o la
console Google Cloud.
migctl
Arresta la VM. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Crea la migrazione:
migctl migration create my-migration --source
my-src --vm-idmy-id --typeserver-type Dove
--vm-id
specifica il nome dell'istanza VM come mostrato nella console del tipo di origine. Dove--type
è--type=windows-iis-container
olinux-system-container
.
Console
Se l'origine della migrazione è una VM di Compute Engine, arrestala. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Apri la pagina Migrate to Containers nella console Google Cloud.
Fai clic sulla scheda Migrazioni per visualizzare una tabella contenente le migrazioni disponibili.
Fai clic su Crea migrazione.
Inserisci il Nome migrazione.
Seleziona l'origine della migrazione che hai creato in Aggiunta di un'origine di migrazione.
Imposta il Tipo di carico di lavoro su Contenitore di sistema basato su immagini o Contenitore di Windows IIS.
Inserisci l'ID VM di origine. Consulta Prima di iniziare per saperne di più sulla determinazione dell'ID VM.
Fai clic su Crea migrazione.
Al termine della creazione della migrazione, nella colonna Stato viene visualizzato Piano di migrazione generato.
CRD
Per definire una migrazione, crea un file di migrazione denominato
my-migration.yaml
.In questo file, il campo
name
insourceProviderRef
specifica il nome di un SourceProvider creato in precedenza, mentre il camposourceId
specifica il nome dell'istanza Compute Engine.Type
sarà--type=windows-iis-container
olinux-system-container
.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: linux-system-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Se stai eseguendo la migrazione di una VM di Compute Engine, arresta la VM. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Applica il file:
kubectl apply -f my-migration.yaml
Carichi di lavoro Tomcat
Specifica i parametri Tomcat
Devi specificare manualmente i valori di CATALINA_BASE
e CATALINA_HOME
.
migctl
Arresta la VM di Compute Engine. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Crea la migrazione:
migctl migration create my-migration --source my-ce-src --vm-id my-id --type tomcat-container --parameters catalina-base=/catalina/base/path1:/catalina/base/path2,catalina-home=/catalina/home/path/,java-version=11
--vm-id
specifica il nome dell'istanza visualizzato nella console di servizio.catalina-base
specifica un elenco di valoriCATALINA_BASE
separati da due punti.catalina-home
specifica il valore diCATALINA_HOME
.java-version
un parametro facoltativo che specifica la versione Java che verrà utilizzata dal contenitore.
CRD
Per definire una migrazione, crea un file di migrazione denominato
my-migration.yaml
.In questo file, imposta i seguenti campi:
sourceProvider
: specifica il nome di un SourceProvider creato in precedenza.sourceId
: specifica il nome dell'istanza VM di Compute Engine.parameters
: imposta parametri specifici per i carichi di lavoro Tomcat.
Di seguito è riportato un esempio di file di migrazione con i seguenti valori dei campi impostati:
apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: tomcat-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id parameters: - name: catalina-base value: /opt/tomcat - name: catalina-home value: /opt/tomcat
Se stai eseguendo la migrazione di una VM di Compute Engine, arresta la VM. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Applica il file:
kubectl apply -f my-migration.yaml
Carichi di lavoro tradizionali di WebSphere
Specifica WAS_HOME
La variabile di ambiente WAS_HOME
specifica dove è installato WAS tradizionale,
ad esempio /opt/IBM/WebSphere/AppServer/
. Migrate to Containers utilizza questo valore quando crei una migrazione per eseguire script che recuperano informazioni su un'app e per determinare il percorso di un profilo di app. Se Migrate to Containers non riesce a individuare la cartella di installazione, puoi impostare il valore WAS_HOME
.
migctl
Arresta la VM. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Crea la migrazione:
migctl migration create my-migration --source
my-was-src --vm-idmy-id --type websphere-traditional-container --parameters was-home=/opt/IBM/WebSphere/AppServer/ dove
--vm-id
specifica il nome dell'istanza come mostrato nella console di servizio.
CRD
Per definire una migrazione, crea un file di migrazione denominato
my-migration.yaml
.In questo file, imposta i seguenti campi:
sourceProvider
: specifica il nome di un SourceProvider creato in precedenza.sourceId
: specifica il nome dell'istanza VM di Compute Engine.parameters
: imposta parametri specifici per i carichi di lavoro WebSphere.
Di seguito è riportato un esempio di file di migrazione con i seguenti valori dei campi impostati:
apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: websphere-traditional-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id parameters: - name: was_home value: /opt/IBM/WebSphere/AppServer/
Se stai eseguendo la migrazione di una VM di Compute Engine, arresta la VM. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Applica il file:
kubectl apply -f my-migration.yaml
Carichi di lavoro JBoss
Crea una migrazione utilizzando lo strumento migctl
o la
console Google Cloud.
migctl
Arresta la VM. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Crea la migrazione:
migctl migration create my-migration --source
my-src --vm-idmy-id --type=jboss-container --parameters jboss-home=/opt/jboss Dove
--vm-id
specifica il nome dell'istanza VM come mostrato nella console del tipo di origine.
Console
Se l'origine della migrazione è una VM di Compute Engine, arresta la VM di Compute Engine. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Apri la pagina Migrate to Containers nella console Google Cloud.
Fai clic sulla scheda Migrazioni per visualizzare una tabella contenente le migrazioni disponibili.
Fai clic su Crea migrazione.
Inserisci il Nome migrazione.
Seleziona l'origine della migrazione che hai creato in Aggiunta di un'origine di migrazione.
Imposta il Tipo di carico di lavoro su Contenitore JBoss.
Inserisci il Nome istanza di origine. Vedi Prima di iniziare per saperne di più sulla determinazione del nome dell'istanza.
Imposta il parametro JBOSS_HOME e utilizza il percorso di installazione di JBoss.
Fai clic su Crea migrazione.
Al termine della creazione della migrazione, nella colonna Stato viene visualizzato Piano di migrazione generato.
CRD
Per definire una migrazione, crea un file di migrazione denominato
my-migration.yaml
.In questo file, il campo
name
insourceProviderRef
specifica il nome di un SourceProvider creato in precedenza, mentre il camposourceId
specifica il nome dell'istanza Compute Engine. Nel campotype
, inseriscijboss-container
. Puoi aggiungere un elenco di parametri di rilevamento indiscoveryParameters
. Ogni parametrodiscoveryParameters
ha due proprietà:name
evalue
. Quando crei una migrazione JBoss, è obbligatorio il parametrodiscoveryParameters
denominatojboss-home
, che specifica il percorso home di JBoss comevalue
.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: jboss-container2 discoveryParameters: - name: jboss-home value: /path-to-jboss-home sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Se stai eseguendo la migrazione di una VM di Compute Engine, arresta la VM. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Applica il file:
kubectl apply -f my-migration.yaml
Carichi di lavoro Apache
Crea una migrazione utilizzando lo strumento migctl
o la
console Google Cloud.
migctl
Arresta la VM. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Crea la migrazione:
migctl migration create my-migration --source
my-src --vm-idmy-id --type=apache-containerDove
--vm-id
specifica il nome dell'istanza VM come mostrato nella console del tipo di origine.
Console
Se l'origine della migrazione è una VM di Compute Engine, arresta la VM di Compute Engine. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Apri la pagina Migrate to Containers nella console Google Cloud.
Fai clic sulla scheda Migrazioni per visualizzare una tabella contenente le migrazioni disponibili.
Fai clic su Crea migrazione.
Inserisci il Nome migrazione.
Seleziona l'origine della migrazione che hai creato in Aggiunta di un'origine di migrazione.
Imposta il Tipo di carico di lavoro su Contenitore Apache.
Inserisci l'ID VM di origine. Consulta Prima di iniziare per saperne di più sulla determinazione dell'ID VM.
Fai clic su Crea migrazione.
Al termine della creazione della migrazione, nella colonna Stato viene visualizzato Piano di migrazione generato.
CRD
Per definire una migrazione, crea un file di migrazione denominato
my-migration.yaml
.In questo file, il campo
name
insourceProviderRef
specifica il nome di un SourceProvider creato in precedenza, mentre il camposourceId
specifica il nome dell'istanza Compute Engine. Nel campotype
, inserisciapache-container
.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: apache-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Se stai eseguendo la migrazione di una VM di Compute Engine, arresta la VM. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Applica il file:
kubectl apply -f my-migration.yaml
Carichi di lavoro WordPress
Crea una migrazione utilizzando lo strumento migctl
o la
console Google Cloud.
migctl
Arresta la VM. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Crea la migrazione:
migctl migration create my-migration --source
my-src --vm-idmy-id --type=wordpress-containerDove
--vm-id
specifica il nome dell'istanza VM come mostrato nella console del tipo di origine.
Console
Se l'origine della migrazione è una VM di Compute Engine, arresta la VM di Compute Engine. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Apri la pagina Migrate to Containers nella console Google Cloud.
Fai clic sulla scheda Migrazioni per visualizzare una tabella contenente le migrazioni disponibili.
Fai clic su Crea migrazione.
Inserisci il Nome migrazione.
Seleziona l'origine della migrazione che hai creato in Aggiunta di un'origine di migrazione.
Imposta il Tipo di carico di lavoro su Contenitore WordPress.
Inserisci l'ID VM di origine. Consulta Prima di iniziare per saperne di più sulla determinazione dell'ID VM.
Fai clic su Crea migrazione.
Al termine della creazione della migrazione, nella colonna Stato viene visualizzato Piano di migrazione generato.
CRD
Per definire una migrazione, crea un file di migrazione denominato
my-migration.yaml
.In questo file, il campo
name
insourceProviderRef
specifica il nome di un SourceProvider creato in precedenza, mentre il camposourceId
specifica il nome dell'istanza Compute Engine. Nel campotype
, inserisciwordpress-container
.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: wordpress-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Se stai eseguendo la migrazione di una VM di Compute Engine, arresta la VM. Per creare una migrazione, la VM deve essere arrestata. Al termine della migrazione, puoi riavviare la VM.
Applica il file:
kubectl apply -f my-migration.yaml
Monitora la creazione della migrazione
Utilizza lo strumento migctl
o la console Google Cloud per monitorare l'avanzamento della creazione della migrazione.
migctl
Attendi il termine della fase di creazione della migrazione:
migctl migration status my-migration NAME CURRENT-OPERATION PROGRESS STEP STATUS AGE my-migration GenerateMigrationPlan [1/3] CreateSourceSnapshots Running 13s
Se stai eseguendo la migrazione di una VM di Compute Engine, riavviala. Dopo questo passaggio non è necessaria una VM arrestata.
Console
Quando lo stato della migrazione indica che è stata creata, puoi andare al passaggio successivo:
Apri la pagina Migrate to Containers nella console Google Cloud.
Fai clic sulla scheda Migrazioni per visualizzare una tabella contenente le migrazioni disponibili.
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 pagina Dettagli della migrazione. Fai clic sulla scheda Monitoring per visualizzare lo stato dettagliato o sulla scheda Eventi per visualizzare gli eventi di migrazione.
Al termine della creazione della migrazione, lo Stato mostra Piano di migrazione generato.
Se stai eseguendo la migrazione di una VM di Compute Engine, riavviala. Dopo questo passaggio non è necessaria una VM arrestata.
CRD
Utilizza kubectl
per ottenere informazioni sulla migrazione e lo stato MigrationStatus specificando un JSONPath
nel campo necessario.
Attendi il termine della fase di creazione della migrazione:
Utilizza due comandi
kubectl wait
, uno per attendere la condizione "Pronto" e l'altro per attendere la condizione "Non riuscito". La fase di creazione del piano di migrazione è in esecuzione finché non viene soddisfatta la prima condizione.unset pids; for cond in "Ready" "Failed"; do kubectl wait migrations.anthos-migrate.cloud.google.com my-migration -n v2k-system --for condition=$cond --timeout=15m & pids+=($!); done; wait -p met_pid -n ${pids[@]} kill ${pids[@]/$met_pid} # terminate the process that did not complete.
Una volta completata l'operazione, puoi andare al passaggio successivo.
Recuperare lo stato del piano di migrazione:
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.conditions[?(@.type==\"Ready\")].status} my-migration
Restituisce
True
quando il piano di migrazione è pronto oFalse
se non è riuscito.Quando la fase di creazione della migrazione non va a buon fine, utilizza il comando seguente per visualizzare il messaggio di errore:
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.conditions[?(@.type=="Ready")].message} my-migration
Se stai eseguendo la migrazione di una VM di Compute Engine, riavviala. Dopo questo passaggio non è necessaria una VM arrestata.
Passaggi successivi
- Scopri come eseguire la migrazione dei dati.