Replatforming delle applicazioni Linux nei container

L'integrazione di Migrate to Containers con Cloud Code ti consente di modernizzare i componenti dell'applicazione Linux in esecuzione su macchine virtuali (VM) e di generare artefatti che possono essere dispiacchiati su Google Kubernetes Engine e Cloud Run direttamente nell'IDE utilizzando una macchina Linux.

In questa guida, imparerai come eseguire il replatforming di un'applicazione esistente il container GKE utilizzando Cloud Code nel tuo IDE su un computer Linux.

Questa guida è destinata agli sviluppatori di macchine Linux che dispongono di un di VS Code, hanno familiarità con Google Cloud e hanno una VM che esegue il proprio componente dell'applicazione.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Google Kubernetes Engine API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Google Kubernetes Engine API.

    Enable the API

  8. Installa l'estensione Cloud Code se non l'hai già fatto.
  9. Crea e configura un cluster GKE.
  10. Assicurati di sapere quale tipo di migrazione vuoi eseguire. Per ulteriori informazioni sui carichi di lavoro supportati, consulta Esaminare i sistemi operativi, i carichi di lavoro e le versioni di Kubernetes compatibili.
  11. Preparazione dalle tue macchine di origine e locali per la modernizzazione. Cloud Code supporta solo Linux per la modernizzazione.

Aggiungere un'origine di migrazione

In questa sezione, se non l'hai già fatto, installa l'interfaccia a riga di comando del client di rilevamento del Centro di migrazione (mcdc) e gli altri strumenti Migrate to Containers sulla tua macchina locale e aggiungi un'origine di replatforming seguendo questi passaggi:

  1. Nella barra delle attività dell'IDE, fai clic su Cloud Code e poi espandi l'esploratore Esegui il replatforming delle app.

  2. Se è la prima volta che utilizzi Migrate to Containers in Cloud Code, devi installare la CLI mcdc e altri strumenti di Migrate to Containers sulla tua macchina locale facendo clic su Installa strumenti. In caso contrario, vai al passaggio successivo.

  3. Fai clic su Modifica origini. Verrà aperto un file mcdc-sources.json vuoto. Aggiungi le tue fonti nel seguente formato:

    [
      {
        "title": "SOURCE_NAME",
        "host": "HOSTNAME",
        "user": "USER",
        "identityFile":"IDENTITY-FILE-PATH"
      }
    ]
    
  4. Per vedere le origini visualizzate in Explorer Replatform Apps, tieni premuto il tuo Posiziona il puntatore del mouse su Explorer Replatform Apps e fai clic sull'icona memorizzati nella cache Ricarica origini che .

(Facoltativo) Genera una valutazione di idoneità

Prima di tentare di eseguire il replatforming della tua applicazione in un container, di generare Valutazione di idoneità della fonte. che ti informa se la tua origine è in grado di sostituire la piattaforma con un container.

Per generare una valutazione di idoneità della fonte, fai clic con il tasto destro del mouse sulla fonte e seleziona Valuta l'origine. Il terminale nel tuo IDE viene aperto e vengono visualizzati i log la valutazione della fonte.

Al termine della valutazione, mcdc genera un account Fit Report di valutazione nel tuo IDE.

Se le tue origini sono contrassegnate come Buona corrispondenza, puoi eseguire il replatforming della tua applicazione.

Replatforming dell'applicazione

Cloud Code crea un'area di lavoro dedicata per ogni replatforming e consente di eseguire le attività Copia, Analizza e Genera nell'area di lavoro per automatizzare i passaggi del replatforming. Se esegui la task Genera senza eseguire prima le task Copia e Analizza, queste vengono eseguite automaticamente prima di generare gli elementi.

Le sezioni seguenti illustrano la procedura per eseguire ciascuna di queste attività e per eseguire il replatforming dell'applicazione in un contenitore utilizzando Cloud Code.

Per scoprire di più sul ciclo di vita di una migrazione, vedi Esegui la migrazione all'architettura dell'interfaccia a riga di comando di Containers.

Creare una nuova area di lavoro per il trasferimento della piattaforma

Prima di creare una nuova area di lavoro con replatforming, devi sapere quale i parametri di migrazione da selezionare per il tuo tipo di migrazione. Per ulteriori informazioni sui parametri per ogni tipo di migrazione, consulta Creare un piano di migrazione.

Per creare una nuova area di lavoro di replatforming con elementi nel tuo IDE, segui questi passaggi passaggi:

  1. Nell'esploratore Esegui il replatforming delle app, fai clic con il tasto destro del mouse sull'origine che vuoi eseguire il replatforming e poi fai clic su Esegui il replatforming.

  2. Dall'elenco di opzioni che appaiono nel menu, seleziona un replatforming viaggio.

  3. Seleziona una nuova directory dell'area di lavoro in cui eseguire il replatforming dell'applicazione, fai clic su Ok, quindi fai clic su Crea area di lavoro replatforming.

  4. Seleziona i parametri di migrazione per il tipo di migrazione.

  5. (Facoltativo) Se hai selezionato il tipo di migrazione WebSphere e vuoi utilizzare una Scanner binario, seleziona il file binaryAppScanner.jar.

    La generazione dello spazio di lavoro richiede alcuni secondi. Viene aperta la nuova area di lavoro in una nuova finestra del tuo IDE.

Copia i file dalla VM all'area di lavoro

Per copiare i file dalla VM allo spazio di lavoro nell'IDE, svolgi i seguenti passaggi:

  1. (Facoltativo) L'interfaccia a riga di comando mcdc applica filtri per ridurre le dimensioni della copia, ma puoi modificare il file filters.txt per ridurre ulteriormente dimensione della copia. Per scoprire come ridurre le dimensioni della copia, consulta Ridurre le dimensioni del file system copiato.

  2. Apri la tavolozza dei comandi premendo Ctrl+Shift+P.

  3. Cerca e seleziona Tasks: Run Task, quindi seleziona m2c: Copy. La copia dei file potrebbe richiedere alcuni minuti.

Analizza il file system delle VM e genera un piano di migrazione

Per analizzare il file system delle VM e generare un piano di migrazione, esegui la seguenti passaggi:

  1. Apri la tavolozza dei comandi premendo Ctrl+Maiusc+P.

  2. Cerca e seleziona Tasks: Run Task, quindi seleziona m2c: Analyze.

    Se l'attività di analisi non riesce, devi modificare i parametri di migrazione tramite il file analyze-args.ini. Questo file ha una riga per parametro con documentazione di accompagnamento sul parametro.

    Se l'analisi va a buon fine, Cloud Code crea una directory denominata migration-plan contenente i risultati dell'analisi sotto forma di config.yaml file. Puoi modificare questo file per cambiare il modo in cui sono gli artefatti generati.

    La struttura del file config.yaml varia in base al tipo di migrazione. Per ulteriori informazioni sui tipi di migrazione supportati, consulta le seguenti pagine:

Genera artefatti

Per generare artefatti, devi eseguire l'attività Generate (Genera) nel tuo IDE. Se non ha già eseguito le attività Copia e Analizza nelle sezioni precedenti, l'attività Generate li esegue automaticamente prima di generare gli artefatti.

Per generare gli artefatti, segui questi passaggi:

  1. Apri la tavolozza dei comandi premendo Ctrl+Maiusc+P.

  2. Cerca e seleziona Tasks: Run Task (Attività: esegui attività), quindi seleziona m2c: Generate (m2c: genera). Vengono generati gli elementi nella directory src, che contiene un skaffold.yaml file utilizzato per creare ed eseguire il deployment di un'immagine container. Ciascuna il tipo di migrazione genera artefatti diversi, ma di solito tutti i tipi di migrazione crea uno o più dockerfile e una specifica di deployment GKE a cui fa riferimento skaffold.yaml.

    Al termine della generazione degli elementi, la migrazione della tua applicazione è completata.

  3. (Facoltativo) Se vuoi modificare il piano di migrazione, modifica il file config.yaml e esegui di nuovo l'attività m2c: Generate.

    In caso contrario, se i risultati del replatforming ti soddisfano, puoi procedere per eseguire l'applicazione in un container GKE.

Esegui l'applicazione in un container GKE

In questa sezione, eseguirai l'applicazione replatforming in un container GKE, visualizzare i log dell'applicazione in esecuzione e ripulire le risorse.

Se non hai ancora creato e configurato un cluster GKE, segui le istruzioni riportate in Creare e configurare un cluster GKE in Cloud Code per VS Code.

Per scoprire di più sul debug delle applicazioni GKE, consulta Eseguire il debug delle applicazioni Kubernetes con Cloud Code per VS Code.

Esegui e visualizza l'applicazione

Ora che è tutto pronto, puoi eseguire la tua applicazione e vederla online. Cloud Code controlla il file system per rilevare le modifiche in modo da poter modificare ed eseguire nuovamente l'app in tempo reale.

Per eseguire l'applicazione, segui questi passaggi:

  1. Nella barra di stato di Cloud Code, fai clic sul nome del progetto attivo.

    Nome del progetto attivo nella barra di stato

  2. Nel menu Scelta rapida visualizzato, seleziona Esegui su Kubernetes.

  3. Conferma se utilizzare il contesto attuale del cluster o passare a un altro uno.

  4. Se richiesto, scegli un registro di immagini a cui eseguire il push. Se creando un nuovo registro di immagini utilizzando gcr.io/PROJECT_ID, assicurati che il registro di immagini si trovi nello stesso progetto del cluster.

    Viene visualizzata una finestra di output in cui puoi monitorare lo stato di avanzamento dell'applicazione in esecuzione. Vedrai anche un live streaming dei log dal di pod in esecuzione nell'output del terminale.

  5. Dopo che l'applicazione è in esecuzione su Kubernetes, la finestra di output visualizza un indirizzo IP. Per utilizzare questo indirizzo IP collegato per accedere all'applicazione, premi Ctrl e fai clic sull'indirizzo.

Una volta avviata la sessione di debug, viene visualizzato il riquadro Sessioni di sviluppo. la visualizzazione del logging strutturato. All'inizio di un'attività, viene visualizzato un semicerchio in rotazione progress_activity.

Se un'attività ha esito positivo, viene visualizzato un segno di spunta. check_circle accanto al passaggio.

Per visualizzare i dettagli di un passaggio, fai clic sul passaggio nel riquadro Sessione di sviluppo. Il riquadro Output visualizza il passaggio nel l'output di logging.

Esegui la pulizia

Dopo aver arrestato l'applicazione, è stato eseguito il deployment di tutte le risorse Kubernetes vengono eliminate automaticamente.

Per evitare che al tuo account vengano addebitati costi relativi ad altre risorse utilizzate in questo rapida, assicurati di eliminare il progetto o di eliminare il cluster che hai creato vuoi riutilizzare il progetto.

Per eliminare il cluster:

  1. Fai clic su Cloud Code ed espandi Explorer Kubernetes.
  2. Tieni il puntatore sul nome del cluster e fai clic su open_in_new Apri nella console Google Cloud.
  3. Fai clic su Elimina e quindi su Elimina.

Per eliminare il progetto (e le risorse associate, inclusi eventuali cluster):

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Per eliminare tutti i file locali creati durante la procedura di replatforming:

  1. Apri la tavolozza dei comandi (Ctrl+Maiusc+P).
  2. Cerca e seleziona Tasks: Run Task, quindi seleziona m2c: Cleanup.