Sviluppo del servizio

In questa pagina vengono descritte alcune cose da sapere per iniziare a sviluppare un servizio per la gestione di Knative.

Requisiti di codice

Quando sviluppi un servizio, devi soddisfare i seguenti requisiti:

  • Il servizio deve rimanere in ascolto delle richieste. Puoi configurare la porta su cui vengono inviate le richieste. All'interno delle istanze di container di gestione Knative, il valore della variabile di ambiente PORT riflette sempre la porta a cui vengono inviate le richieste. Il codice deve verificare l'esistenza di questa variabile di ambiente PORT e, se presente, deve rimanere in ascolto per verificare la portabilità.
  • Il servizio deve essere stateless. Non può basarsi su uno stato locale permanente.
  • Il servizio non deve eseguire attività in background che non rientrano nell'ambito della gestione delle richieste.

Per ulteriori dettagli su questi vincoli, consulta la sezione Contratto di runtime del container.

Supporto dei linguaggi di programmazione

La pubblicazione di Knative ti consente di scrivere codice nel linguaggio di programmazione che preferisci.

Utilizzo di un server web

Puoi utilizzare un server web per rimanere in ascolto sulla porta richiesta, nonché per elaborare e indirizzare le richieste in entrata. Ad esempio, gli sviluppatori Node.js possono usare Express.js, gli sviluppatori Python possono usare Flask, gli sviluppatori Ruby possono usare Sinatra e così via.

Inserimento del codice in un container

Per eseguire il deployment nella pubblicazione con Knative, devi fornire un'immagine container. Un'immagine container è un formato di pacchettizzazione che include il tuo codice, i relativi pacchetti, le eventuali dipendenze binarie necessarie, il sistema operativo da utilizzare e qualsiasi altra informazione necessaria per eseguire il tuo servizio.

Un file denominato Dockerfile è comunemente usato per dichiarare come creare l'immagine container.

I Dockerfile molto spesso iniziano da un'immagine di base (ad es. FROM golang:1.11). Puoi trovare immagini di base gestite da sistemi operativi e autori di linguaggi in Docker Hub. Cloud Build controlla le immagini memorizzate nella cache prima di eseguire il pull da Docker Hub. Se usi uno strumento di creazione di terze parti, puoi configurare il daemon Docker in modo che verifichi le immagini nella stessa cache. Puoi anche trovare immagini di base gestite da Google in Google Cloud Marketplace.

Se utilizzi i tuoi file binari, assicurati che siano compilati per Linux ABI x86_64.

Queste risorse forniscono ulteriori informazioni sui Dockerfile:

Passaggi successivi