Il seguente diagramma mostra il modello di risorsa di Knative serving:
Il diagramma mostra un progetto Google Cloud contenente due Knative serving
servizi, Service A
e Service B
, ognuno dei quali ha diverse revisioni.
Nel diagramma, Service A
riceve molte richieste, il che comporta l'avvio e l'esecuzione di diverse istanze di container. Tieni presente che Service B
è
al momento non riceve richieste, quindi non è stata ancora avviata alcuna istanza container.
Servizi Knative serving
Il servizio è la risorsa principale di Knative serving. Ogni servizio si trova nello spazio dei nomi del cluster GKE specifico.
Un determinato progetto Google Cloud può eseguire molti servizi in regioni o cluster GKE diversi.
Ogni servizio espone un endpoint univoco e scala automaticamente l'infrastruttura sottostante per gestire le richieste in entrata.
Revisioni di Knative serving
Ogni deployment in un servizio crea una revisione. Una revisione è composta da un un'immagine container specifica, oltre alle impostazioni dell'ambiente come variabili, limiti di memoria o valore di contemporaneità.
Le revisioni sono immutabili: una volta creata, una revisione non può essere modificata. Ad esempio, quando esegui il deployment di un'immagine container in un nuovo servizio di pubblicazione Knative, viene creata la prima revisione. Se poi esegui il deployment un'immagine container diversa nello stesso servizio, viene creata una seconda revisione. Se successivamente imposti una variabile di ambiente, viene creata una terza revisione e così via.
Le richieste vengono instradate automaticamente il prima possibile all'ultima revisione del servizio in stato integro. Puoi di suddivisione del traffico tra le diverse revisioni, se necessario.
Istanze di container Knative serving
Ogni revisione che riceve richieste viene scalata automaticamente in base al numero di istanze container necessarie per gestire tutte queste richieste. Tieni presente che un container un'istanza può ricevere molte richieste contemporaneamente. Con l'impostazione della concorrenza, puoi impostare il numero massimo di richieste che possono essere inviate in parallelo a una determinata istanza del contenitore.