Správa revizí a tajných kódů v Azure Container Apps
Azure Container Apps implementuje správu verzí aplikací kontejnerů vytvořením revizí. Revize je neměnný snímek verze aplikace kontejneru. Revize můžete použít k vydání nové verze aplikace nebo se můžete rychle vrátit ke starší verzi aplikace. Nové revize se vytvoří při aktualizaci aplikace změnami oboru revizí. Aplikaci kontejneru můžete také aktualizovat na základě konkrétní revize.
Můžete řídit, které revize jsou aktivní, a externí provoz směrovaný na každou aktivní revizi. Názvy revizí slouží k identifikaci revize a v adrese URL revize. Název revize můžete přizpůsobit nastavením přípony revize.
Ve výchozím nastavení vytvoří Container Apps jedinečný název revize s příponou skládající se z částečně náhodného řetězce alfanumerických znaků. Například pro aplikaci kontejneru s názvem album-api by nastavení názvu přípony revize na 1st-revision vytvořilo revizi s názvem album-api--1st-revision. Příponu revize můžete nastavit v šabloně ARM, prostřednictvím Azure CLI az containerapp create
a az containerapp update
příkazů nebo při vytváření revize prostřednictvím webu Azure Portal.
Aktualizace kontejnerové aplikace
az containerapp update
Pomocí příkazu můžete upravit proměnné prostředí, výpočetní prostředky, parametry škálování a nasadit jinou image. Pokud aktualizace aplikace kontejneru obsahuje změny oboru revizí, vygeneruje se nová revize.
az containerapp update \
--name <APPLICATION_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--image <IMAGE_NAME>
Pomocí příkazu můžete zobrazit seznam všech revizí přidružených k vaší aplikaci kontejneru az containerapp revision list
.
az containerapp revision list \
--name <APPLICATION_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
-o table
Další informace o příkazech Container Apps najdete v referenčních informacích az containerapp
.
Správa tajných kódů v Azure Container Apps
Azure Container Apps umožňuje vaší aplikaci zabezpečeně ukládat citlivé hodnoty konfigurace. Jakmile jsou tajné kódy definované na úrovni aplikace, jsou zabezpečené hodnoty dostupné pro kontejnerové aplikace. Konkrétně můžete odkazovat na zabezpečené hodnoty uvnitř pravidel škálování.
- Tajné klíče jsou omezené na aplikaci mimo konkrétní revizi aplikace.
- Přidání, odebrání nebo změna tajných kódů negeneruje nové revize.
- Každá revize aplikace může odkazovat na jeden nebo více tajných klíčů.
- Na stejné tajné kódy může odkazovat více revizí.
Aktualizovaný nebo odstraněný tajný klíč nemá automaticky vliv na existující revize ve vaší aplikaci. Při aktualizaci nebo odstranění tajného klíče můžete na změny reagovat dvěma způsoby:
- Nasazení nové revize
- Restartování stávající revize
Před odstraněním tajného klíče nasaďte novou revizi, která již na starý tajný klíč neodkazuje. Pak deaktivujte všechny revize, které odkazují na tajný klíč.
Poznámka:
Container Apps nepodporuje integraci se službou Azure Key Vault. Místo toho povolte spravovanou identitu v aplikaci kontejneru a pro přístup k tajným kódům použijte sadu SDK služby Key Vault ve vaší aplikaci.
Definování tajných kódů
Při vytváření aplikace kontejneru se tajné kódy definují pomocí parametru --secrets
.
- Parametr přijímá sadu párů name/value oddělených mezerami.
- Každý pár je oddělený symbolem rovná se (
=
).
V následujícím příkladu se v parametru --secrets
deklaruje připojovací řetězec k účtu úložiště fronty. Hodnota pro řetězec queue-connection-string pochází z proměnné prostředí s názvem $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"
Po deklarování tajných kódů na úrovni aplikace je můžete při vytváření nové revize v aplikaci kontejneru odkazovat v proměnných prostředí. Když proměnná prostředí odkazuje na tajný klíč, jeho hodnota se naplní hodnotou definovanou v tajném kódu. Pokud chcete odkazovat na tajný klíč v proměnné prostředí v Azure CLI, nastavte jeho hodnotu na secretref:
, následovanou názvem tajného kódu.
Následující příklad ukazuje aplikaci, která deklaruje připojovací řetězec na úrovni aplikace. Na toto připojení se odkazuje v proměnné prostředí kontejneru.
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"