Nuovo runtime avanzato

Il gestore del servizio Linux originale per Migrate to Containers faceva affidamento su sysv init e systemd. Il gestore di servizi Linux semplificato lo sostituisce con un'alternativa semplificata e ottimizzata per i container.

Questo gestore di servizi Linux semplificato aggiunge funzionalità che consentono di eseguire il deployment dei carichi di lavoro dei container migrati in:

  • Cluster GKE Autopilot

  • Cloud Run

Il gestore dei servizi Linux semplificato risolve anche i problemi di compatibilità con i plug-in Kubernetes. Ad esempio, il gestore dei servizi Linux semplificato rimuove il requisito di definizione di hostpath per /sys/fs/cgroup nel file deployment_spec.yaml e la necessità di creare container con privilegi.

Prima di iniziare

  • Migrate to Containers fornisce uno strumento da eseguire su un carico di lavoro VM per determinare l'idoneità del carico di lavoro per la migrazione a un container. Per ulteriori informazioni, consulta l'articolo Utilizzare lo strumento di valutazione di idoneità.

Informazioni sui cluster GKE Autopilot

Autopilot è una modalità operativa di Google Kubernetes Engine (GKE). Autopilot è progettato per ridurre i costi operativi di gestione dei cluster, ottimizzarli per la produzione e aumentare la disponibilità dei carichi di lavoro. In modalità Autopilot, GKE esegue il provisioning e la gestione dell'infrastruttura sottostante del cluster, inclusi nodi e pool di nodi, offrendoti un cluster ottimizzato con un'esperienza automatizzata.

Per ulteriori dettagli, vedi Panoramica di Autopilot.

Informazioni su Cloud Run

Cloud Run è una piattaforma di computing gestita che consente di eseguire container stateless richiamabili tramite richieste web o eventi Pub/Sub. Il gestore dei servizi Linux semplificato consente di eseguire il deployment dei carichi di lavoro dei container di cui è stata eseguita la migrazione su Cloud Run.

Utilizzo di Workload Identity con Migrate to Containers e GKE

Migrate to Containers e GKE ti consente di eseguire il deployment dei carichi di lavoro migrati in Google Distributed Cloud Virtual for Bare Metal. A volte potresti utilizzare lo stesso cluster sia per il cluster di elaborazione sia per quello di deployment. Se hai abilitato Workload Identity sul cluster di deployment, assicurati di configurare l'ambiente di deployment in modo da supportare Migrate to Containers e GKE.

Inoltre, devi assicurarti che tutti i servizi avviati come parte del processo di inizializzazione siano configurati correttamente per Workload Identity. I passaggi da eseguire dipendono dal gestore del servizio del cluster. Per la procedura di configurazione, consulta Deployment di un carico di lavoro Linux in un cluster di destinazione.

Modifiche dal runtime esistente

Per utilizzare il gestore dei servizi Linux semplificato, è necessario che tu conosca le modifiche e le limitazioni che seguono relative al runtime esistente.

Nuovo file artefatto services-config.yaml aggiunto

Se abiliti il gestore dei servizi Linux semplificato, Migrate to Containers crea un nuovo file dell'artefatto, services-config.yaml, quando generi gli artefatti di migrazione. Utilizza questo file per controllare l'inizializzazione dell'applicazione in un container di cui è stato eseguito il deployment. Per ulteriori informazioni, consulta Utilizzo di services-config.yaml.

probe di idoneità

Quando utilizzi il runtime attuale, Migrate to Containers aggiunge un probe di idoneità nel file deployment_spec.yaml. Quando abiliti il gestore dei servizi Linux semplificato, non viene aggiunto alcun probe di idoneità.

Se vuoi aggiungere un probe di idoneità, ti consigliamo di utilizzare un probe di idoneità HTTP. Per ulteriori informazioni, consulta Definire i probe di idoneità.

        readinessProbe:
          exec:
            command:
            - /.m4a/gamma status

Tuttavia, questo probe potrebbe restituire un risultato falso negativo.

supporto syslog

Il gestore dei servizi Linux semplificato crea un socket Unix in /dev/log per supportare il syslog. Il gestore di servizi Linux semplificato inoltra questi messaggi di log a stdout in modo che vengano registrati da Kubernetes come log dei container.

Limitazioni

Quando utilizzi il gestore di servizi Linux semplificato, devi tenere conto delle limitazioni che seguono.

Limitazioni del carico di lavoro

Il gestore di servizi Linux semplificato funziona al meglio con i seguenti tipi di carichi di lavoro:

Immagine Sistema operativo Servizi
Compute Engine Ubuntu 12.04 Ubuntu 12.04 apache2
Compute Engine Ubuntu 14.04 Ubuntu 14.04 redis, mysql, apache2
Compute Engine Ubuntu 18.04 Ubuntu 18.04 apache2, mysql, redis-server, tomcat
RHEL SAP 7.4 Red Hat httpd
Bitnami Ubuntu bitnami
Immagine Memcached Compute Engine Debian 10.9 bitnami
Wordpress del Marketplace di Compute Engine Debian 9.13 apache2, mysql, php
Tomcat Marketplace di Compute Engine Debian 9.13 tomcat8
Elementi del Marketplace di Compute Engine Debian 10.9 apache2, jenkins
Moodle Marketplace di Compute Engine Debian 9.13 apache2, mysql, php7.4 fpm, phpsessionclean
Odoo Marketplace Compute Engine Debian 9.13 odoo, nginx
Opencart Marketplace Compute Engine Debian 9.13 apache2, mysql, php7.0 fpm, supervisore, mariadb
Marketplace di Compute Engine Erpnext Debian 10.9 nginx, redis-server, supervisore, mariadb
Marketplace di Compute Engine Wildfly Debian 10.10 Wildfly, cron

limitazioni systemd

Se utilizzi systemd come sistema di inizializzazione, tieni presente le seguenti limitazioni:

  • I tipi di servizi systemd di simple,exec e notify vengono trattati come servizio exec. Ciò significa che il servizio viene considerato avviato quando exec ha esito positivo.

  • I socket di notifica sono supportati solo per sd_notify() per i messaggi READY=1.

    Se necessario, puoi fornire altri controlli di idoneità. Ad esempio, il controllo HTTP o altri tipi di controlli.

  • I file di unità di tipo socket non sono supportati. I socket non vengono creati e non vengono create variabili di ambiente.

Aggiornamenti per la versione 1.9.0

Il gestore dei servizi Linux semplificato per la versione 1.9.0 contiene i seguenti aggiornamenti:

Aggiornamenti per la versione 1.8.1

Il gestore di servizi Linux semplificato è stato originariamente rilasciato in Anteprima pubblica come parte della versione 1.8 di Migrate to Containers. Il gestore dei servizi Linux semplificato per la versione 1.8.1 contiene i seguenti aggiornamenti:

  • Non dovrai più impostare un'annotazione nel piano di migrazione per abilitare il gestore di servizi Linux semplificato. Ora invece hai impostato v2kServiceManager. Per saperne di più, consulta Eseguire il deployment dei container nei cluster Autopilot.

  • La variabile di ambiente HC_GAMMA_RUNTIME è stata rinominata in HC_V2K_SERVICE_MANAGER.

  • Le voci prestart e poststart nel file services-config.yaml vengono ora compilate automaticamente. Per ulteriori informazioni, consulta Utilizzo di services-config.yaml.

  • Aggiunto il supporto al file services-config.yaml che consente di specificare variabili di ambiente a livello globale o a livello di applicazione. Per ulteriori informazioni, consulta Utilizzo di services-config.yaml.

  • Aggiunto il supporto del logging che consente di personalizzare i dati di log scritti in Cloud Logging. Per ulteriori informazioni, consulta Personalizzare i dati di log scritti in Cloud Logging.

Passaggi successivi