Implementatielabels in Azure Container Apps

Met implementatielabels kunt u zinvolle namen, zoals dev, fasering of prod, toewijzen aan specifieke containerrevisies. Wanneer u deze namen toepast, stroomlijnt u het verwerken van complexe implementatiescenario's en omgevingsbeheer.

Met behulp van implementatielabels kunt u het volgende doen:

  • Wijs duidelijke, beschrijvende labels toe aan revisies.
  • Automatisch nieuwe revisies toewijzen aan labels voor routering en verkeersbeheer.
  • Verkeer routeren op basis van labels in plaats van revisienamen te wijzigen.
  • Verhoog of verlaag revisies door labels opnieuw toe te wijzen.
  • Terugdraaien naar eerdere revisies met behulp van labelgeschiedenis.

Belangrijk

Voordat u implementatielabels kunt gebruiken, moet u de stappen volgen om eerst implementatielabels in te schakelen in de portal voor uw container-app.

Belangrijkste kenmerken

Met implementatielabels kunt u geavanceerde implementatiestrategieën maken en tegelijkertijd de controle over de levenscyclus van uw toepassing behouden met behulp van de volgende functies:

  • Labeltoewijzing: Maak en wijs zinvolle labels toe aan containerrevisies, waardoor het eenvoudiger is om omgevingen zoals ontwikkelen, faseren en prod te beheren.

  • Verkeerssplitsing en A/B-tests: ondersteuning voor het splitsen van verkeer, blind terugdraaien en A/B-testen maakt geleidelijke implementaties en testen van nieuwe functies mogelijk.

  • Faseringsreleases en automatisch wisselen: met automatische revisieactivering kunt u naadloos nieuwe revisies maken en deze toewijzen aan nieuwe of bestaande labels om verkeer te ontvangen. Eventuele revisies waarnaar niet meer wordt verwezen door een label, worden automatisch afgesloten.

Implementatielabels gebruiken

Standaard zijn implementatielabels niet beschikbaar voor uw container-app. Volg deze stappen in Azure Portal om labels voor implementatie in te schakelen:

  1. Open uw container-app in Azure Portal.

  2. Selecteer Revisies en replica's in het menu onder de sectie Toepassing.

  3. Selecteer de implementatiemodus.

  4. Selecteer de kolom Implementatielabels .

  5. Selecteer de optie Toepassen.

Een nieuw label maken

Maak nieuwe labels in de portal op basis van bestaande labels. Container Apps maakt standaard uw eerste label met de naam label-1. Wanneer u labels maakt via de CLI of Bicep, kunt u deze koppelen aan een bestaande revisie of een nieuwe revisie.

  1. Open uw container-app in Azure Portal.

  2. Selecteer Labels in het menu onder de sectie Toepassing.

  3. Selecteer Nieuw label.

  4. Selecteer het bestaande label waarop u het nieuwe label wilt baseren.

  5. Voer de naam van het nieuwe label in het tekstvak in.

  6. Selecteer Dupliceren.

Labelgeschiedenis en terugdraaiacties

U kunt de volledige geschiedenis van een label weergeven met behulp van de volgende stappen:

  1. Open uw container-app in Azure Portal.

  2. Selecteer Labels in het menu onder Toepassing.

  3. Selecteer Geschiedenis weergeven voor het label waarin u geïnteresseerd bent.

Gebruik de optie Geschiedenis weergeven voor elk label om het volgende te doen:

  • Controleer de revisiegeschiedenis van het label.
  • Terugdraaien naar een vorige revisie door het label naar een andere containerrevisie te verwijzen.

Implementatielabels gebruiken

Volg deze stappen in de Azure CLI om implementatielabels in te schakelen:

  1. Open uw terminal.

  2. Maak de volgende omgevingsvariabelen.

     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. Gebruik de volgende opdracht om een nieuwe app en revisie met label te maken:

    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. Als u een nieuwe revisie met een nieuw of bestaand label wilt maken, gebruikt u de volgende opdracht:

    az containerapp update \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --image $CONTAINER_APP_IMAGE \
    --target-label $TARGET_LABEL
    
  5. Gebruik de volgende opdracht om de labelgeschiedenis weer te geven:

    az containerapp label-history show \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --label $TARGET_LABEL
    
  6. Gebruik de volgende opdracht om app-verkeer van labels weer te geven:

    az containerapp ingress traffic show \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    
  7. Gebruik de volgende opdrachten om een label toe te voegen aan een revisie:

    az containerapp revision label add \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --revision $REVISION_NAME \
    --label $TARGET_LABEL
    
  8. Als u een label uit een revisie wilt verwijderen, gebruikt u de volgende opdrachten:

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

Ondersteunde scenario’s

  • Blauw-groene implementaties: Beheer eenvoudig blauw-groene implementaties door te labelen en tussen revisies te schakelen. Deze aanpak biedt een eenvoudige manier om volledige omgevingswisselingen af te handelen.

  • A/B-tests: een percentage verkeer omleiden naar verschillende revisies voor functietests. Met deze procedure kunt u nieuwe functionaliteit valideren met een subset gebruikers vóór de volledige implementatie.

  • Gefaseerde implementaties: Verhoog geleidelijk het verkeer naar een nieuwe revisie door de verkeerspercentages aan te passen.

  • Omgevingsisolatie: gebruik labels om afzonderlijke ontwikkel-, faserings- en prod-omgevingen te onderhouden. Elke omgeving kan onafhankelijk worden bijgewerkt met behoud van een duidelijk promotiepad.

Voorbeeld van werkstroom

Hier volgt een typische werkstroom met behulp van implementatielabels:

  1. Beginlabels maken: maak labels zoals 'fase' en 'productie' die in eerste instantie naar dezelfde revisie verwijzen.

  2. Een label bijwerken: selecteer een label (bijvoorbeeld 'fase') om het bij te werken met nieuwe containers, schalen of volume-instellingen.

  3. Test de wijzigingen: als de nieuwe revisie is geïmplementeerd, routeert u een deel van het verkeer naar het bijgewerkte label.

  4. Promoot wijzigingen: Wanneer u zeker bent over de productierevisie, werkt u het productielabel bij zodat het naar dezelfde revisie verwijst.

  5. Controleren en terugdraaien indien nodig: als er problemen optreden, gebruikt u de labelgeschiedenis om terug te keren naar een eerdere versie.

Revisielabels