Migrazione di un servizio esistente

Questa guida mostra come preparare un servizio web per l'esecuzione in un container sulla pubblicazione con Knative. Non tratta la migrazione dei dati.

Identifica la porta su cui il codice è in ascolto

Il servizio deve rimanere in ascolto delle richieste su una porta specifica. Devi identificare questa porta e configurare la gestione di Knative per inviare le richieste alla stessa porta.

Questa è la stessa porta che useresti per chiamare il tuo servizio sulla tua macchina locale. Ad esempio, se per testare il tuo codice apri localhost:3000, imposta la porta del container su 3000 nella pubblicazione con Knative.

Per impostazione predefinita, la pubblicazione Knative invia richieste a 8080. Il valore della porta a cui vengono inviate le richieste è sempre disponibile nella variabile di ambiente PORT. Come best practice, per il codice rimanere in ascolto del valore definito dalla variabile di ambiente PORT è se possibile.

Elimina il ricorso a un file system locale per l'archiviazione permanente

Verifica che il codice dell'applicazione faccia affidamento su file system locali e sostituiscilo con uno spazio di archiviazione file in Cloud Storage o con un archivio dati come Firestore o Cloud SQL.

Aggiungi un Dockerfile

Per eseguire il wrapping del servizio in un container, devi utilizzare un Dockerfile per definire l'ambiente operativo. Scopri di più sulla personalizzazione di Dockerfile nella pagina Sviluppare il servizio.

Ottimizza per i limiti di contemporaneità e memoria

Scopri di più sulla contemporaneità della gestione Knative e su come ottimizzare i servizi nei suggerimenti per lo sviluppo per l'ottimizzazione della contemporaneità.

Assicurati che il tuo limite di memoria sia sufficientemente elevato per l'esecuzione dell'applicazione, inclusa la capacità per l'eventuale archiviazione di file temporanei richiesta dal tuo servizio.

Invia log a stdout o stderr

Knative Serving utilizza automaticamente l'osservabilità di Google Cloud per aggregare ed esaminare i log, come descritto nella pagina di logging.