Etichette di distribuzione nelle app Azure Container

Le etichette di distribuzione consentono di assegnare nomi significativi, ad esempio sviluppo, gestione temporanea o produzione, a revisioni di contenitori specifiche. Quando si applicano questi nomi, è possibile semplificare la gestione di scenari di distribuzione complessi e la gestione dell'ambiente.

Usando le etichette di distribuzione, è possibile:

  • Assegnare etichette chiare e descrittive alle revisioni.
  • Assegnare automaticamente nuove revisioni alle etichette per il routing e la gestione del traffico.
  • Instradare il traffico in base alle etichette anziché modificare i nomi delle revisioni.
  • Alzare o abbassare di livello le revisioni riassegnando le etichette.
  • Eseguire il rollback alle revisioni precedenti usando la cronologia delle etichette.

Importante

Prima di poter usare le etichette di distribuzione, è necessario seguire la procedura per abilitare le etichette di distribuzione nel portale per l'app contenitore.

Funzionalità principali

Le etichette di distribuzione consentono di creare strategie di distribuzione sofisticate mantenendo il controllo sul ciclo di vita dell'applicazione usando le funzionalità seguenti:

  • Assegnazione di etichette: creare e assegnare etichette significative alle revisioni dei contenitori, semplificando la gestione di ambienti come sviluppo, gestione temporanea e produzione.

  • Suddivisione del traffico e test A/B: il supporto per la suddivisione del traffico, il rollback cieco e i test A/B consentono implementazioni graduali e test delle nuove funzionalità.

  • Versioni di staging e scambio automatico: l'attivazione automatica delle revisioni consente di creare facilmente nuove revisioni e assegnarle a etichette nuove o esistenti per ricevere traffico. Tutte le revisioni a cui non viene più fatto riferimento da un'etichetta vengono arrestate automaticamente.

Usare le etichette di distribuzione

Per impostazione predefinita, le etichette di distribuzione non sono disponibili per l'app contenitore. Per abilitare le etichette di distribuzione, seguire questa procedura nel portale di Azure:

  1. Aprire l'app contenitore nel portale di Azure.

  2. Dal menu, nella sezione Applicazione selezionare Revisioni e repliche.

  3. Selezionare Modalità di distribuzione.

  4. Selezionare la colonna Etichette di distribuzione .

  5. Selezionare Applica.

Creare una nuova etichetta

Creare nuove etichette nel portale in base alle etichette esistenti. Per impostazione predefinita, la Container Apps crea la prima etichetta denominata label-1. Quando si creano etichette tramite l'interfaccia della riga di comando o Bicep, è possibile associarle a qualsiasi revisione esistente o a una nuova revisione.

  1. Aprire l'app contenitore nel portale di Azure.

  2. Dal menu, nella sezione Applicazione selezionare Etichette.

  3. Selezionare Nuova etichetta.

  4. Selezionare l'etichetta esistente su cui basare la nuova etichetta.

  5. Immettere il nome della nuova etichetta nella casella di testo.

  6. Selezionare Duplica.

Cronologia dell'etichetta e revisioni

È possibile visualizzare la cronologia completa di un'etichetta attenendosi alla procedura seguente:

  1. Aprire l'app contenitore nel portale di Azure.

  2. Dal menu, in Applicazione, selezionare Etichette.

  3. Selezionare Mostra cronologia per l'etichetta a cui si è interessati.

Usare l'opzione Mostra cronologia per qualsiasi etichetta per:

  • Esaminare la cronologia delle revisioni dell'etichetta.
  • Eseguire il rollback a una revisione precedente puntando l'etichetta a una revisione del contenitore diversa.

Usare le etichette di distribuzione

Per abilitare le etichette di distribuzione, seguire questa procedura nell'interfaccia della riga di comando di Azure:

  1. Aprire il terminale.

  2. Creare le variabili di ambiente seguenti.

     CONTAINER_APP_NAME="my-container-app"
     CONTAINER_APP_IMAGE="mcr.microsoft.com/k8se/quickstart:latest"
     LOCATION="centralus"
     RESOURCE_GROUP="my-container-apps-rg"
     ENVIRONMENT_NAME="my-container-apps-env"
     TARGET_LABEL="stage"
    
  3. Usare il comando seguente per creare una nuova app e una nuova revisione con etichetta:

    az containerapp create \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --image $CONTAINER_APP_IMAGE \
    --environment $ENVIRONMENT_NAME \
    --location $LOCATION \
    --ingress external \
    --target-port 0 \
    --revisions-mode labels \
    --target-label $TARGET_LABEL
    
  4. Per creare una nuova revisione con un'etichetta nuova o esistente, usare il comando seguente:

    az containerapp update \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --image $CONTAINER_APP_IMAGE \
    --target-label $TARGET_LABEL
    
  5. Per visualizzare la cronologia delle etichette, usare il comando seguente:

    az containerapp label-history show \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --label $TARGET_LABEL
    
  6. Per visualizzare il traffico dell'app per le etichette, usare il comando seguente:

    az containerapp ingress traffic show \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    
  7. Per aggiungere un'etichetta a una revisione, usare i comandi seguenti:

    az containerapp revision label add \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --revision $REVISION_NAME \
    --label $TARGET_LABEL
    
  8. Per rimuovere un'etichetta da una revisione, usare i comandi seguenti:

    az containerapp revision label remove \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --label $TARGET_LABEL
    

Scenari supportati

  • Distribuzioni blu-verde: gestire facilmente le distribuzioni blu-verde assegnando etichette e passando da una revisione all'altra. Questo approccio offre un modo semplice per gestire gli scambi di ambiente completi.

  • Test A/B: indirizzare una percentuale di traffico a revisioni diverse per i test delle funzionalità. Questa procedura consente di convalidare nuove funzionalità con un subset di utenti prima della distribuzione completa.

  • Rilasci a fasi: aumentare gradualmente il traffico verso una nuova revisione modificando le percentuali di traffico.

  • Isolamento dell'ambiente: usare le etichette per gestire ambienti di sviluppo, gestione temporanea e produzione separati. Ogni ambiente può essere aggiornato in modo indipendente mantenendo un percorso di promozione chiaro.

Esempio di flusso di lavoro

Ecco un flusso di lavoro tipico usando le etichette di distribuzione:

  1. Creare etichette iniziali: creare etichette come "stage" e "production" che puntano inizialmente alla stessa revisione.

  2. Aggiornare un'etichetta: selezionare un'etichetta (ad esempio, "stage") per aggiornarla con i nuovi contenitori, il ridimensionamento o le impostazioni del volume.

  3. Testare le modifiche: con la nuova revisione distribuita, instradare una porzione del traffico verso la versione aggiornata.

  4. Promuovere le modifiche: quando si è certi della revisione attuata in produzione, aggiornare l'etichetta di produzione affinché punti alla stessa revisione.

  5. Monitorare e eseguire il rollback, se necessario: se si verificano problemi, usare la cronologia delle etichette per eseguire il rollback a una versione precedente.

Etichette di revisione