Cloud Run consente di specificare le revisioni che ricevono le istanze e le percentuali di allocazione delle istanze per ogni revisione. Questa funzionalità consente di eseguire il rollback a una revisione precedente, suddividere le istanze tra più revisioni e allocare le istanze alla revisione più recente. Questa pagina descrive come utilizzare questa funzionalità per gestire l'allocazione delle istanze alle revisioni di Cloud Run.
Le modifiche all'allocazione delle istanze non sono immediate. Quando modifichi l'allocazione delle istanze per le revisioni, tutte le richieste in fase di elaborazione vengono completate. Le richieste in corso non vengono eliminate e Cloud Run potrebbe indirizzarle a una nuova revisione o a una revisione precedente durante il periodo di transizione.
Ciclo di vita delle suddivisioni delle istanze
Se suddividi le istanze tra più revisioni o assegni le istanze a una revisione precedente, tutti i deployment successivi utilizzeranno questo pattern di suddivisione delle istanze. Per tornare a utilizzare solo la revisione più recente senza la suddivisione delle istanze, invia tutte le istanze alla revisione più recente.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire i pool di worker di Cloud Run e le revisioni dei pool di worker, chiedi all'amministratore di concederti il ruolo IAM Sviluppatore Cloud Run (roles/run.developer) nel pool di worker di Cloud Run.
Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il pool di worker di Cloud Run interagisce con Google Cloud API, ad esempio le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per saperne di più sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestisci l'accesso.
Esegui il rollback a una revisione precedente
Per eseguire il rollback a una revisione precedente, utilizza la Google Cloud console, o Google Cloud CLI:
Console
Nella Google Cloud console, vai ai pool di worker di Cloud Run:
Individua il pool di worker nell'elenco e fai clic su di esso.
Fai clic sulla scheda Revisioni per visualizzare l'elenco delle revisioni correnti per quel pool di worker.
Fai clic su Gestisci suddivisioni delle istanze per visualizzare il modulo di gestione delle istanze. Cloud Run elenca la revisione di pubblicazione più recente. Nel modulo, configura i seguenti dettagli:
- Aggiungi revisione e utilizza l'elenco a discesa per selezionare una revisione precedente.
- Imposta la percentuale di istanze della revisione precedente su 100.
- Imposta la percentuale della revisione di pubblicazione più recente su 0.
- Fai clic su Salva.
gcloud
Specifica le revisioni a cui eseguire il rollback eseguendo il seguente comando.
gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=REVISION=100
Sostituisci quanto segue:
- WORKER_POOL: il nome del pool di worker.
- REVISION: il nome della revisione a cui stai eseguendo il rollback.
Suddividi le istanze tra più revisioni
Per suddividere le istanze tra due o più revisioni, utilizza la Google Cloud console, o Google Cloud CLI:
Console
Nella Google Cloud console, vai ai pool di worker di Cloud Run:
Individua il pool di worker nell'elenco e fai clic su di esso.
Fai clic sulla scheda Revisioni per visualizzare l'elenco delle revisioni correnti per quel pool di worker.
Fai clic su Gestisci suddivisioni delle istanze per visualizzare il modulo di gestione delle istanze. Cloud Run elenca la revisione di pubblicazione più recente. Nel modulo, configura i seguenti dettagli:
Imposta la percentuale della revisione di pubblicazione più recente sulla suddivisione richiesta, ad esempio riducila dal 100%.
Fai clic su Aggiungi revisione e utilizza l'elenco a discesa per selezionare una revisione precedente e impostare la percentuale di suddivisione corrispondente.
Per suddividere le istanze con revisioni aggiuntive, fai clic su Aggiungi revisione, e seleziona un'altra revisione e imposta la relativa percentuale.
Fai clic su Salva.
gcloud
Specifica le revisioni e la percentuale di istanze eseguendo il seguente comando. Alloca le istanze per ogni revisione in un elenco delimitato da virgole:
gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LIST
Sostituisci quanto segue:
WORKER_POOL: il nome del pool di worker.
LIST: elenco delimitato da virgole di revisioni e percentuali:
REVISION1=PERCENTAGE1,REVISION2=PERCENTAGE2,REVISIONn=PERCENTAGEx.
Ad esempio,
my-worker-pool-s5sxn=10,my-worker-pool-cp9kw=90.
Alloca le istanze alla revisione più recente
Quando esegui il deployment di una nuova revisione, puoi allocare il 100% delle istanze a questa revisione e a tutte quelle future, ignorando qualsiasi suddivisione delle istanze stabilita. Per allocare il 100% delle istanze alla revisione più recente, esegui i seguenti comandi:
Utilizza il flag
--to-latestper indirizzare il 100% delle istanze alla revisione più recente e allocare automaticamente tutte le istanze a qualsiasi nuova revisione di cui esegui il deployment:gcloud beta run worker-pools update-instance-split WORKER_POOL --to-latest(Facoltativo) Utilizza il flag
--to-revisionscon la parola chiaveLATESTper allocare sempre una percentuale mobile di istanze alla revisione più recente quando ne esegui il deployment. Per impostare una percentuale di istanze che si sposta sempre alla revisione più recente, esegui il seguente comando:gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LATEST=PERCENTAGESostituisci quanto segue:
- WORKER_POOL: il nome del pool di worker.
- PERCENTAGE: la percentuale di istanze da allocare per le revisioni più recenti e future.
Passaggi successivi
- Scopri come utilizzare Cloud Deploy per configurare una pipeline di continuous delivery per il deployment in Cloud Run.