Prozkoumání kontejnerů v Azure Container Apps
Azure Container Apps spravuje podrobnosti o Kubernetes a orchestraci kontejnerů za vás. Kontejnery v Azure Container Apps můžou používat libovolný modul runtime, programovací jazyk nebo vývojový zásobník podle vašeho výběru.
Azure Container Apps podporuje jakoukoli image kontejneru x86-64 (linux/amd64
) založené na Linuxu. Neexistuje žádný požadovaný základní obraz kontejneru, a pokud se kontejner zhroutí, automaticky se restartuje.
Konfigurace
Následující kód je příkladem pole containers
v části properties.template
šablony prostředku kontejnerové aplikace. Výňatek ukazuje některé z dostupných možností konfigurace při nastavování kontejneru při použití šablon Azure Resource Manageru (ARM). Změny v oddílu konfigurace ARM šablony aktivují novou revizi aplikace kontejneru.
"containers": [
{
"name": "main",
"image": "[parameters('container_image')]",
"env": [
{
"name": "HTTP_PORT",
"value": "80"
},
{
"name": "SECRET_VAL",
"secretRef": "mysecret"
}
],
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"volumeMounts": [
{
"mountPath": "/myfiles",
"volumeName": "azure-files-volume"
}
]
"probes":[
{
"type":"liveness",
"httpGet":{
"path":"/health",
"port":8080,
"httpHeaders":[
{
"name":"Custom-Header",
"value":"liveness probe"
}]
},
"initialDelaySeconds":7,
"periodSeconds":3
// file is truncated for brevity
Více kontejnerů
V jedné aplikaci s kontejnery můžete definovat více kontejnerů k implementaci vzoru sidecar . Kontejnery v aplikaci kontejneru sdílejí pevný disk a síťové prostředky a mají stejný životní cyklus aplikace.
Mezi příklady sidecar kontejnerů patří:
- Agent, který čte záznamy z primárního kontejneru aplikace na sdíleném svazku a předává je do logovací služby.
- Proces na pozadí, který aktualizuje mezipaměť používanou primárním kontejnerem aplikace ve sdíleném svazku.
Poznámka
Spouštění více kontejnerů v jedné aplikaci kontejneru je případ rozšířeného použití. Ve většině situací, kdy chcete spustit více kontejnerů, například při implementaci architektury mikroslužeb, nasaďte každou službu jako samostatnou aplikaci kontejneru.
Pokud chcete v aplikaci kontejneru spustit více kontejnerů, přidejte do pole kontejnerů šablony aplikace kontejneru více kontejnerů.
Registry kontejnerů
Image hostované v privátních registrech můžete nasadit zadáním přihlašovacích údajů v konfiguraci Container Apps.
Pokud chcete použít registr kontejneru, definujete požadovaná pole v poli registrů v části properties.configuration šablony prostředku aplikace kontejneru. Pole passwordSecretRef identifikuje název tajného klíče v názvu pole tajných kódů, ve kterém jste definovali heslo.
{
...
"registries": [{
"server": "docker.io",
"username": "my-registry-user-name",
"passwordSecretRef": "my-password-secret-name"
}]
}
Při přidání informací o registru se uložené přihlašovací údaje dají použít k načtení image kontejneru z privátního registru při nasazení aplikace.
Omezení
Azure Container Apps má následující omezení:
- privilegovaných kontejnerů: Azure Container Apps nemůže spouštět privilegované kontejnery. Pokud se váš program pokusí spustit proces, který vyžaduje kořenový přístup, dojde v aplikaci v kontejneru k chybě za běhu.
-
operačního systému: Vyžadují se image kontejnerů založené na Linuxu (
linux/amd64
).