Questa documentazione fa riferimento alla versione Latest di Cloud Run for Anthos, che utilizza i gruppi Anthos e Anthos Service Mesh. Scopri di più.

La versione precedente è stata archiviata, ma la documentazione rimane disponibile per gli utenti esistenti.

Rollback, rilasci graduali, migrazione del traffico

Cloud Run for Anthos ti consente di specificare quali revisioni devono ricevere il traffico e le percentuali di traffico ricevute da una revisione. Questa funzionalità consente di eseguire il rollback a una revisione precedente, implementare gradualmente una revisione (nota anche come deployment blu/verde) e suddividere il traffico tra più revisioni. In questa pagina viene descritto come utilizzare questa funzionalità per gestire il traffico verso le revisioni di Cloud Run for Anthos.

Rollback di una revisione precedente

Per eseguire il rollback a una revisione precedente:

Console

  1. Vai a Cloud Run for Anthos nella console Google Cloud:

    Vai a Cloud Run for Anthos

  2. Individua il servizio nell'elenco dei servizi e fai clic sul servizio.

  3. Fai clic sulla scheda Revisioni per visualizzare l'elenco delle revisioni correnti per quel servizio.

  4. Nell'elenco delle revisioni, fai clic sull'icona con i puntini di sospensione a destra della revisione di cui stai eseguendo il rollback:

    gestisci il traffico

  5. Fai clic su Gestisci traffico per visualizzare il modulo per la gestione del traffico:

    1. Seleziona la revisione precedente a cui vuoi eseguire il rollback nell'elenco a discesa.
    2. Imposta la percentuale di traffico della revisione precedente su 100.
    3. Imposta la percentuale della revisione attualmente pubblicata su 0.
    4. Fai clic su Salva.

Riga di comando

Utilizza il comando seguente:

gcloud run services update-traffic SERVICE --to-revisions REVISION=100

  • Sostituisci SERVICE con il nome del servizio.
  • Sostituisci REVISION con il nome della revisione a cui stai eseguendo il rollback.

YAML

Puoi scaricare la configurazione di un servizio esistente in un file YAML con il comando gcloud run services describe utilizzando il flag --format=export. Puoi quindi modificare il file YAML ed eseguire il deployment di queste modifiche con il comando gcloud run services replace. Devi assicurarti di modificare solo gli attributi specificati.

  1. Scarica la configurazione del tuo servizio in un file denominato service.yaml nell'area di lavoro locale:

    gcloud run services describe SERVICE --format export > service.yaml

    Sostituisci SERVICE con il nome del tuo servizio Cloud Run for Anthos.

  2. Nel file locale, aggiorna l'attributo traffic che si trova in spec:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
    ...
      traffic:
      - revisionName: REVISION
        percent: 100
    

    Sostituisci

    • REVISION con il nome della revisione a cui stai eseguendo il rollback.
  3. Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:

    gcloud run services replace service.yaml

Implementazione graduale della revisione

Per implementare una nuova revisione gradualmente (deployment blu/verde):

Console

  1. Vai a Cloud Run for Anthos nella console Google Cloud:

    Vai a Cloud Run for Anthos

  2. Individua il servizio nell'elenco dei servizi e fai clic sul servizio.

  3. Fai clic su Esegui il deployment di una nuova revisione.

  4. Compila il modulo di deployment secondo le necessità, ma assicurati che la casella di controllo Pubblica questa revisione immediatamente non sia selezionata.

  5. Fai clic su Esegui il deployment.

  6. Fai clic su Gestisci traffico.

  7. La nuova revisione è elencata, ma è stata impostata una percentuale pari a 0: al momento non gestisce traffico. Nel formato:

    1. Imposta la percentuale desiderata, ad esempio 5. Tieni presente che la percentuale della versione attualmente pubblicata viene ridotta automaticamente dallo stesso importo.
    2. Fai clic su Salva.
    3. Ripeti questi passaggi per gestire il traffico, ma con percentuali modificate, aumentando la percentuale necessaria per la nuova revisione. Non è necessario ripetere il deployment per modificare le percentuali di traffico.

Riga di comando

  1. Per il deployment della revisione che vuoi implementare gradualmente, inizialmente impostandola per non ricevere traffico, utilizza il comando update con il parametro --no-traffic:

    gcloud run deploy --image IMAGE --no-traffic

    Sostituisci IMAGE con l'immagine di cui esegui il deployment.

  2. Specifica la percentuale di traffico che deve essere gestita dalla nuova revisione, ad esempio 5%:

    gcloud run services update-traffic SERVICE --to-revisions REVISION=PERCENTAGE
    • Sostituisci SERVICE con il nome del servizio.
    • Sostituisci REVISION con il nome della revisione che stai implementando gradualmente. Per specificare la revisione più recente, puoi utilizzare LATEST, ad esempio LATEST=5.
    • Sostituisci PERCENTAGE con la percentuale di traffico da inviare alla nuova revisione, ad esempio 5 per inviare il 5% del traffico.
  3. Quando le prestazioni della revisione saranno soddisfacenti, ripeti il passaggio update-traffic precedente, ma aumenta il valore percentuale in base alle tue esigenze.

YAML

Puoi scaricare la configurazione di un servizio esistente in un file YAML con il comando gcloud run services describe utilizzando il flag --format=export. Puoi quindi modificare il file YAML ed eseguire il deployment di queste modifiche con il comando gcloud run services replace. Devi assicurarti di modificare solo gli attributi specificati.

  1. Scarica la configurazione del tuo servizio in un file denominato service.yaml nell'area di lavoro locale:

    gcloud run services describe SERVICE --format export > service.yaml

    Sostituisci SERVICE con il nome del tuo servizio Cloud Run for Anthos.

  2. Apporta le modifiche di configurazione desiderate al servizio come descritto nelle varie pagine di configurazione e specifica il nome della revisione che vuoi applicare alla nuova revisione:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    template:
      metadata:
        annotations:
          ...
        name: REVISION-NAME
     ```
    
    Replace
    
    • REVISION-NAME con il nome che vuoi dare alla nuova revisione.
  3. Sotto l'attributo spec, individua e aggiorna l'attributo traffic in modo che la nuova revisione fornisca solo una piccola quantità di traffico:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
    ...
      traffic:
      - revisionName: REVISION-NEW
        percent: PERCENT-NEW
      - revisionName: REVISION-FORMER
        percent: PERCENT-FORMER
    

    Tieni presente che la somma delle percentuali deve essere 100. Sostituisci

    • REVISION-NEW con il nome della revisione che stai implementando gradualmente.
    • REVISION-FORMER con il nome della revisione attualmente pubblicata.
    • PERCENT-NEW con la percentuale di traffico che vuoi inviare alla nuova revisione, ad esempio utilizza 10 per inviare il 10% del traffico a questa revisione.
    • PERCENT-FORMER con la percentuale di traffico che vuoi inviare alla versione precedente

Suddivisione del traffico tra più revisioni

Per suddividere il traffico tra due o più revisioni:

Console

  1. Vai a Cloud Run for Anthos nella console Google Cloud:

    Vai a Cloud Run for Anthos

  2. Individua il servizio nell'elenco dei servizi e fai clic sul servizio.

  3. Fai clic su Gestisci traffico.

  4. Viene elencata la nuova revisione attualmente pubblicata. Nel formato:

    1. Imposta la percentuale di revisione attualmente pubblicata sulla suddivisione desiderata.
    2. Seleziona una delle revisioni precedenti utilizzando l'elenco a discesa e imposta la suddivisione percentuale desiderata.
    3. Per suddividere il traffico tra più revisioni, fai clic su Aggiungi revisione, seleziona la revisione desiderata e imposta la percentuale sulla suddivisione desiderata.
    4. Fai clic su Salva.

Riga di comando

Specifica le revisioni e la percentuale di traffico per ogni revisione in un elenco delimitato da virgole:

gcloud run services update-traffic SERVICE --to-revisions LIST

Sostituisci:

  • SERVICE con il nome del servizio.
  • LIST con un elenco di revisioni delimitati da virgole che vuoi ricevere traffico e la percentuale di traffico corrispondente, per un totale di 100%:
    REVISION1=PERCENTAGE1,REVISION2=PERCENTAGE2,REVISIONn=PERCENTAGEn
    ad esempio hello2-00005-red=25,hello2-00001-bod=25,hello2-00002-nan=50.

YAML

Puoi scaricare la configurazione di un servizio esistente in un file YAML con il comando gcloud run services describe utilizzando il flag --format=export. Puoi quindi modificare il file YAML ed eseguire il deployment di queste modifiche con il comando gcloud run services replace. Devi assicurarti di modificare solo gli attributi specificati.

  1. Scarica la configurazione del tuo servizio in un file denominato service.yaml nell'area di lavoro locale:

    gcloud run services describe SERVICE --format export > service.yaml

    Sostituisci SERVICE con il nome del tuo servizio Cloud Run for Anthos.

  2. Nel tuo file locale, aggiorna l'attributo traffic in modo che la nuova revisione fornisca solo una piccola quantità di traffico:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
    ...
      traffic:
      - revisionName: REVISION-A
        percent: PERCENT-A
      - revisionName: REVISION-B
        percent: PERCENT-B
      - revisionName: REVISION-C
        percent: PERCENT-C
    

    Tieni presente che la somma delle percentuali deve essere 100. Sostituisci

    • REVISION-A, REVISION-B, REVISION-C con le revisioni a cui assegni il traffico.
    • PERCENT-A, PERCENT-B, PERCENT-C con la percentuale per la revisione corrispondente.
  3. Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:

    gcloud run services replace service.yaml

Invio di tutto il traffico all'ultima revisione

Quando esegui il deployment di una nuova revisione, puoi fare in modo che questa revisione e tutte quelle future pubblichino il 100% del traffico il prima possibile, eseguendo l'override di qualsiasi suddivisione del traffico stabilita:

Console

  1. Vai a Cloud Run for Anthos nella console Google Cloud:

    Vai a Cloud Run for Anthos

  2. Individua il servizio nell'elenco dei servizi e fai clic sul servizio.

  3. Fai clic su Esegui il deployment di una nuova revisione.

  4. Compila il modulo di deployment secondo le tue esigenze, assicurandoti di selezionare la casella di controllo Pubblica questa revisione immediatamente. Questa operazione sostituirà qualsiasi suddivisione del traffico esistente, con la nuova revisione che gestisce il 100% del traffico.

  5. Fai clic su Esegui il deployment.

Riga di comando

Per inviare tutto il traffico alla revisione di cui è stato eseguito il deployment più di recente:

gcloud run services update-traffic SERVICE --to-latest

Sostituisci SERVICE con il nome del servizio.

YAML

Puoi scaricare la configurazione di un servizio esistente in un file YAML con il comando gcloud run services describe utilizzando il flag --format=export. Puoi quindi modificare il file YAML ed eseguire il deployment di queste modifiche con il comando gcloud run services replace. Devi assicurarti di modificare solo gli attributi specificati.

  1. Scarica la configurazione del tuo servizio in un file denominato service.yaml nell'area di lavoro locale:

    gcloud run services describe SERVICE --format export > service.yaml

    Sostituisci SERVICE con il nome del tuo servizio Cloud Run for Anthos.

  2. Nel file locale, aggiorna l'attributo traffic che si trova in spec:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
    ...
      traffic:
      - latestRevision: true
        percent: 100
    
  3. Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:

    gcloud run services replace service.yaml

Utilizzo dei tag per test, migrazione del traffico e rollback

Dopo aver eseguito il deployment di un servizio, puoi creare una nuova revisione e assegnare un tag che ti consenta di accedere alla revisione a un URL specifico, senza gestire il traffico. Puoi quindi utilizzare quel tag per eseguire la migrazione graduale del traffico alla revisione con tag e per eseguirne il rollback.

Un caso d'uso comune per questa funzionalità è quello di utilizzarla per testare e controllare una nuova revisione del servizio prima di gestire il traffico, nella sequenza tipica:

  1. Esegui test di integrazione su un container durante lo sviluppo.
  2. Eseguire il deployment del container in un progetto Google Cloud che utilizzi solo per la gestione temporanea, la distribuzione del traffico e il test in base a una revisione con tag.
  3. Esegui il deployment in produzione, senza gestire il traffico e testa una revisione con tag in produzione.
  4. Eseguire la migrazione del traffico alla revisione con tag.

Deployment di una nuova revisione con tag

Per eseguire il deployment di una nuova revisione di un servizio esistente in produzione:

gcloud run deploy myservice --image IMAGE_URL  --no-traffic --tag TAG_NAME

Sostituisci

  • IMAGE_URL con l'URL dell'immagine
  • TAG_NAME con il nome del tag in lettere minuscole

Il tag consente di testare direttamente la nuova revisione in corrispondenza di un URL specifico, senza pubblicare traffico. L'URL inizia con il nome del tag che hai fornito: ad esempio, se hai utilizzato il nome del tag green nel servizio myservice, testerai la revisione con tag all'URL https://green---myservice-abcdef.a.run.app

Migrazione del traffico a una revisione con tag

Dopo aver confermato il corretto funzionamento della nuova revisione, puoi iniziare a eseguirne la migrazione utilizzando la console Google Cloud, la riga di comando gcloud o un file YAML:

Console

  1. Vai a Cloud Run for Anthos nella console Google Cloud:

    Vai a Cloud Run for Anthos

  2. Individua il servizio nell'elenco, quindi fai clic sopra:

  3. Seleziona la revisione con tag a cui vuoi inviare il traffico:

    gestisci il traffico

  4. Fai clic su Gestisci traffico.

  5. Individua il nome di revisione con tag: è elencato ma con una percentuale pari a 0: al momento non gestisce traffico. Nel modulo Gestisci traffico*:

    1. Imposta la percentuale desiderata, ad esempio 5. Tieni presente che la percentuale della versione attualmente pubblicata viene ridotta automaticamente dallo stesso importo.
    2. Fai clic su Salva.
    3. In un periodo di ore o giorni, ripeti questi passaggi Gestisci il traffico ma con percentuali modificate, aumentando la percentuale necessaria per la revisione con tag. Non è necessario ripetere il deployment per modificare le percentuali di traffico.

Riga di comando

Per eseguire la migrazione del traffico a uno specifico tag di revisione:

gcloud run deploy update-traffic myservice --tag TAG_NAME=TRAFFIC_PERCENT

Sostituisci

  • TAG_NAME con il nome del tag verso il quale stai eseguendo la migrazione del traffico
  • TRAFFIC_PERCENT con la percentuale di traffico che vuoi che la revisione con tag venga pubblicata, ad esempio 1.

YAML

Puoi scaricare la configurazione di un servizio esistente in un file YAML con il comando gcloud run services describe utilizzando il flag --format=export. Puoi quindi modificare il file YAML ed eseguire il deployment di queste modifiche con il comando gcloud run services replace. Devi assicurarti di modificare solo gli attributi specificati.

  1. Scarica la configurazione del tuo servizio in un file denominato service.yaml nell'area di lavoro locale:

    gcloud run services describe SERVICE --format export > service.yaml

    Sostituisci SERVICE con il nome del tuo servizio Cloud Run for Anthos.

  2. Apporta le modifiche alla configurazione del servizio, come descritto nelle varie pagine di configurazione.

  3. Sotto l'attributo spec, individua e aggiorna l'attributo traffic per la revisione con tag, in modo che la revisione con tag preveda solo una piccola quantità di traffico:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
    ...
      traffic:
      - revisionName: REVISION
        tag: TAG_NAME
        percent: PERCENT-NEW
      - revisionName: REVISION-FORMER
        percent: PERCENT-FORMER
    

    Tieni presente che la somma delle percentuali deve essere 100. Sostituisci

    • REVISION con il nome della revisione con tag.
    • TAG_NAME con il nome del tag che stai implementando gradualmente.
    • PERCENT-NEW con la percentuale di traffico che vuoi inviare alla revisione codificata; ad esempio, utilizza 10 per inviare il 10% del traffico a tale revisione.
    • REVISION-FORMER con il nome della revisione attualmente pubblicata.
    • PERCENT-FORMER con la percentuale di traffico che vuoi inviare alla versione precedente
  4. Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:

    gcloud run services replace service.yaml