Esegui la migrazione e il deployment delle applicazioni nei cluster GKE Autopilot

Per eseguire il deployment dei carichi di lavoro dei container di cui è stata eseguita la migrazione nei cluster GKE Autopilot, utilizzerai la stessa procedura utilizzata per l'architettura esistente. Le uniche modifiche sono:

  • Devi impostare v2kServiceManager su true nel piano di migrazione prima di generare gli artefatti dei container.

  • Devi esaminare il nuovo file services-config.yaml e apportare eventuali modifiche ai servizi di inizializzazione. Vedi Utilizzo di services-config.yaml.

Per eseguire una migrazione:

  1. Installa Migrate to Containers versione 1.15.0.

  2. Aggiungi un'origine di migrazione e crea una migrazione come fai oggi con il runtime esistente.

  3. Personalizza il piano di migrazione in base alle esigenze.

    1. Scarica il piano di migrazione. Il piano di migrazione è rappresentato da AppXGenerateArtifactsFlow.

      Ad esempio, per una migrazione denominata "my-migration":

      migctl migration get my-migration
    2. Apri il piano di migrazione scaricato, my-migration.yaml, in un editor di testo.

    3. Verifica il gestore servizi Linux avanzato. Il flag v2kServiceManager è impostato su true per impostazione predefinita. Tuttavia, se Migrate to Containers rileva un servizio di sistema non supportato dal gestore dei servizi, riceverai un avviso e il flag v2kServiceManager verrà impostato su false. Se il flag è false, la migrazione utilizzerà un runtime legacy che supporta il tuo servizio.

      Viene fornito il seguente avviso insieme al servizio non supportato:

      Service is not supported by v2k service manager, therefore legacy runtime
      will be used instead of v2k service manager, and migrated workload would
      not fit running on Autopilot clusters of Cloudrun.

      Quando viene rilevato un servizio non supportato, puoi anche scegliere di impostare manualmente il flag su true. In questo caso, puoi scegliere di mantenere il servizio non supportato nell'immagine generata in cui potrebbe non essere eseguito oppure di escludere il servizio rimuovendolo dal piano di migrazione.

      Per attivare il nuovo gestore servizi, reimposta il flag su true:

      v2kServiceManager: true
      
    4. Esegui eventuali altre personalizzazioni necessarie per la migrazione, come descritto in Personalizzare il piano di migrazione.

    5. Al termine delle modifiche, salva il file modificato.

    6. Carica il piano di migrazione modificato:

      migctl migration update my-migration --main-config my-migration.yaml
  4. Genera e esamina gli artefatti di migrazione come fai oggi con il runtime esistente.

  5. Modifica il nuovo file services-config.yaml per configurare le proprietà di inizializzazione del container. Per applicare le modifiche, salva il file e ricrea l'immagine container.

    Per ulteriori informazioni, consulta Utilizzo di services-config.yaml.

  6. Esegui il deployment del container in un cluster GKE Autopilot utilizzando kubectl:

    kubectl apply -f deployment_spec.yaml

Esempio: deployment del container della guida rapida in un cluster Autopilot

Utilizza la guida rapida attuale per eseguire la migrazione di un container contenente un server web semplice e quindi eseguirne il deployment su un cluster Autopilot. Le uniche modifiche che devi apportare al processo della guida rapida sono:

  1. Nel passaggio 3 di Migrazione della VM, in cui esamini il piano di migrazione, imposta v2kServiceManager su true nel piano di migrazione, quindi salva il piano:

    v2kServiceManager: true
    
  2. Nella sezione Deployment del carico di lavoro di cui è stata eseguita la migrazione, crea e connettiti a un cluster GKE Autopilot prima di eseguire il deployment del container:

    1. Crea un cluster GKE Autopilot:

      gcloud container clusters create-auto "CLUSTER_NAME"
      --project "PROJECT_NAME"  --region "REGION" --release-channel "regular"
      --subnetwork "projects/PROJECT_NAME/regions/us-central1/subnetworks/default"
    2. Connettiti al cluster:

      gcloud container clusters get-credentials CLUSTER_NAME 
        --zone REGION --project PROJECT_NAME
      
    3. Esegui il deployment del container come descritto nella sezione Deployment del carico di lavoro di cui è stata eseguita la migrazione.

Modifiche al CRD AppXGeneraArtifactsFlow

Se utilizzi file CRD per controllare la migrazione, modifica il valore CRD AppXGenerateArtifactsFlow per impostare v2kServiceManager su true. Vedi Personalizzazione di un piano di migrazione per ulteriori informazioni sull'utilizzo di file CRD per controllare la migrazione.

Passaggi successivi