Revisies en geheimen beheren in Azure Container Apps

Voltooid

Azure Container Apps implementeert versiebeheer van container-apps door revisies te maken. Een revisie is een onveranderbare momentopname van een versie van een container-app. U kunt revisies gebruiken om een nieuwe versie van uw app vrij te geven of snel terug te keren naar een eerdere versie van uw app. Er worden nieuwe revisies gemaakt wanneer u uw toepassing bijwerkt met wijzigingen in revisiebereik. U kunt uw container-app ook bijwerken op basis van een specifieke revisie.

U kunt bepalen welke revisies actief zijn en het externe verkeer dat naar elke actieve revisie wordt doorgestuurd. Revisienamen worden gebruikt om een revisie te identificeren en in de URL van de revisie. U kunt de revisienaam aanpassen door het revisieachtervoegsel in te stellen.

Container Apps maakt standaard een unieke revisienaam met een achtervoegsel dat bestaat uit een semi-willekeurige tekenreeks met alfanumerieke tekens. Als u bijvoorbeeld voor een container-app met de naam album-api de naam van het revisieachtervoegsel instelt op 1e-revisie, wordt er een revisie gemaakt met de naam album-api--1st-revision. U kunt het revisieachtervoegsel instellen in de ARM-sjabloon, via de Azure CLI az containerapp create en az containerapp update opdrachten, of wanneer u een revisie maakt via Azure Portal.

Uw container-app bijwerken

Met de az containerapp update opdracht kunt u omgevingsvariabelen, rekenresources, schaalparameters wijzigen en een andere installatiekopieƫn implementeren. Als de update van uw container-app wijzigingen in het revisiebereik bevat, wordt er een nieuwe revisie gegenereerd.

az containerapp update \
  --name <APPLICATION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --image <IMAGE_NAME>

U kunt alle revisies weergeven die zijn gekoppeld aan uw container-app met de az containerapp revision list opdracht.

az containerapp revision list \
  --name <APPLICATION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME> \
  -o table

Ga naar de az containerapp referentie voor meer informatie over Container Apps-opdrachten.

Geheimen beheren in Azure Container Apps

Met Azure Container Apps kunt u in uw toepassing gevoelige configuratiewaarden veilig opslaan. Zodra geheimen op toepassingsniveau zijn gedefinieerd, zijn beveiligde waarden beschikbaar voor container-apps. U kunt met name verwijzen naar beveiligde waarden binnen schaalregels.

  • Geheimen zijn afgestemd op een toepassing, buiten een specifieke revisie van een toepassing.
  • Als u geheimen toevoegt, verwijdert of wijzigt, worden er geen nieuwe revisies gegenereerd.
  • Elke toepassingsrevisie kan naar een of meer geheimen verwijzen.
  • Meerdere revisies kunnen verwijzen naar dezelfde geheimen.

Een bijgewerkt of verwijderd geheim heeft niet automatisch invloed op bestaande revisies in uw app. Wanneer een geheim wordt bijgewerkt of verwijderd, kunt u op twee manieren op wijzigingen reageren:

  1. Implementeer een nieuwe revisie.
  2. Start een bestaande revisie opnieuw.

Voordat u een geheim verwijdert, implementeert u een nieuwe revisie die niet meer naar het oude geheim verwijst. Schakel vervolgens alle revisies uit die verwijzen naar het geheim.

Notitie

Container Apps biedt geen ondersteuning voor Azure Key Vault-integratie. Schakel in plaats daarvan beheerde identiteit in de container-app in en gebruik de Key Vault SDK in uw app voor toegang tot geheimen.

Geheimen definiƫren

Wanneer u een container-app maakt, worden geheimen gedefinieerd met behulp van de --secrets parameter.

  • De parameter accepteert een door spaties gescheiden set naam-/waardeparen.
  • Elk paar wordt gescheiden door een gelijkteken (=).

In het onderstaande voorbeeld wordt een verbindingsreeks naar een wachtrijopslagaccount gedeclareerd in de --secrets parameter. De waarde voor queue-connection-string is afkomstig van een omgevingsvariabele met de naam $CONNECTION_STRING.

az containerapp create \
  --resource-group "my-resource-group" \
  --name queuereader \
  --environment "my-environment-name" \
  --image demos/queuereader:v1 \
  --secrets "queue-connection-string=$CONNECTION_STRING"

Nadat u geheimen op toepassingsniveau hebt gedeclareert, kunt u ernaar verwijzen in omgevingsvariabelen wanneer u een nieuwe revisie in uw container-app maakt. Wanneer een omgevingsvariabele verwijst naar een geheim, wordt de waarde gevuld met de waarde die in het geheim is gedefinieerd. Als u wilt verwijzen naar een geheim in een omgevingsvariabele in de Azure CLI, stelt u de waarde secretref:in op , gevolgd door de naam van het geheim.

In het volgende voorbeeld ziet u een toepassing die een verbindingsreeks declareert op toepassingsniveau. Naar deze verbinding wordt verwezen in een containeromgevingsvariabele.

az containerapp create \
  --resource-group "my-resource-group" \
  --name myQueueApp \
  --environment "my-environment-name" \
  --image demos/myQueueApp:v1 \
  --secrets "queue-connection-string=$CONNECTIONSTRING" \
  --env-vars "QueueName=myqueue" "ConnectionString=secretref:queue-connection-string"