Události
Vytváření inteligentních aplikací
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Azure Container Apps za vás spravuje podrobnosti o orchestraci Kubernetes a kontejnerů. Kontejnery ve službě Azure Container Apps můžou využívat jakýkoli modul runtime a programovací jazyk nebo libovolnou vývojovou sadu.
Azure Container Apps podporuje:
linux/amd64
() založená na LinuxuMezi funkce patří:
template
konfigurační oddíl k definování image kontejneru a dalších nastavení. Změny v oddílu template
konfigurace aktivují novou revizi aplikace kontejneru.Mezi funkce úloh patří:
template
konfigurační oddíl k definování image kontejneru a dalších nastavení při každém spuštění.Většina aplikací typu kontejner má jeden kontejner. V pokročilýchscénářch V definici aplikace kontejneru jsou hlavní aplikace a její kontejnery sajdkáře uvedené v containers
poli v properties.template
části a kontejnery inicializace jsou uvedeny v initContainers
poli. Následující výňatek ukazuje dostupné možnosti konfigurace při nastavování kontejnerů aplikace.
{
"properties": {
"template": {
"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": "/appsettings",
"volumeName": "appsettings-volume"
}
],
"probes": [
{
"type": "liveness",
"httpGet": {
"path": "/health",
"port": 8080,
"httpHeaders": [
{
"name": "Custom-Header",
"value": "liveness probe"
}
]
},
"initialDelaySeconds": 7,
"periodSeconds": 3
},
{
"type": "readiness",
"tcpSocket": {
"port": 8081
},
"initialDelaySeconds": 10,
"periodSeconds": 3
},
{
"type": "startup",
"httpGet": {
"path": "/startup",
"port": 8080,
"httpHeaders": [
{
"name": "Custom-Header",
"value": "startup probe"
}
]
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
]
},
"initContainers": [
{
"name": "init",
"image": "[parameters('init_container_image')]",
"resources": {
"cpu": 0.25,
"memory": "0.5Gi"
},
"volumeMounts": [
{
"mountPath": "/appsettings",
"volumeName": "appsettings-volume"
}
]
}
]
...
}
...
}
Nastavení | Popis | Poznámky |
---|---|---|
image |
Název image kontejneru pro vaši aplikaci kontejneru. | Tato hodnota má formu repository/<IMAGE_NAME>:<TAG> . |
name |
Popisný název kontejneru | Používá se k vytváření sestav a identifikaci. |
command |
Spouštěcí příkaz kontejneru. | Ekvivalent pole vstupního bodu Dockeru |
args |
Spusťte argumenty příkazu. | Položky v poli jsou spojeny dohromady a vytvoří seznam parametrů, který se předá spouštěcímu příkazu. |
env |
Pole párů název/hodnota, které definují proměnné prostředí. | value Místo secretRef pole použijte odkaz na tajný kód. |
resources.cpu |
Počet procesorů přidělených kontejneru | Viz požadavky na přidělení virtuálních procesorů a paměti |
resources.memory |
Množství paměti RAM přidělené kontejneru. | Viz požadavky na přidělení virtuálních procesorů a paměti |
volumeMounts |
Pole definic připojení svazků. | Pro kontejner můžete definovat dočasné nebo trvalé svazky úložiště. Další informace o svazcích úložiště najdete v tématu Použití připojení úložiště v Azure Container Apps. |
probes |
Pole sond stavu povolené v kontejneru | Další informace o nastavení sond najdete v tématu Sondy stavu v Azure Container Apps. |
Při použití plánu Consumption se celkový počet procesorů a paměti přidělených všem kontejnerům v aplikaci kontejneru musí sčítat do jedné z následujících kombinací.
virtuální procesory (jádra) | Memory (Paměť) |
---|---|
0.25 |
0.5Gi |
0.5 |
1.0Gi |
0.75 |
1.5Gi |
1.0 |
2.0Gi |
1.25 |
2.5Gi |
1.5 |
3.0Gi |
1.75 |
3.5Gi |
2.0 |
4.0Gi |
2.25 |
4.5Gi |
2.5 |
5.0Gi |
2.75 |
5.5Gi |
3.0 |
6.0Gi |
3.25 |
6.5Gi |
3.5 |
7.0Gi |
3.75 |
7.5Gi |
4.0 |
8.0Gi |
Poznámka
Aplikace využívající plán Consumption pouze v prostředí Consumption jsou omezené na maximálně 2 jádra a 4Gi paměti.
V pokročilých scénářích můžete v jedné aplikaci kontejneru spustit více kontejnerů. Tento vzor použijte pouze v konkrétních instancích, ve kterých jsou kontejnery úzce svázané.
Pro většinu scénářů mikroslužeb je osvědčeným postupem nasadit každou službu jako samostatnou aplikaci kontejneru.
Více kontejnerů ve stejné aplikaci kontejneru sdílí pevný disk a síťové prostředky a dochází ke stejnému životnímu cyklu aplikace.
Existují dva způsoby, jak v aplikaci kontejneru spouštět další kontejnery: kontejnery sajdkáře a inicializační kontejnery.
V jedné aplikaci kontejneru můžete definovat více kontejnerů pro implementaci vzoru sajdkáře.
Mezi příklady kontejnerů sajdkárů patří:
Agent, který čte protokoly z primárního kontejneru aplikace na sdíleném svazku a předává je do služby protokolování.
Proces na pozadí, který aktualizuje mezipaměť používanou primárním kontejnerem aplikace ve sdíleném svazku.
Tyto scénáře jsou příklady a nepředstavují jediný způsob implementace sajdkáře.
Pokud chcete v aplikaci kontejneru spustit více kontejnerů, přidejte do pole šablony aplikace kontejneru více kontejnerů containers
.
V aplikaci kontejneru můžete definovat jeden nebo více inicializačních kontejnerů . Inicializační kontejnery běží před primárním kontejnerem aplikace a používají se k provádění inicializačních úloh, jako je stahování dat nebo příprava prostředí.
Inicializační kontejnery jsou definovány v initContainers
poli šablony aplikace kontejneru. Kontejnery běží v pořadí, v jakém jsou definovány v poli, a musí se úspěšně dokončit před spuštěním primárního kontejneru aplikace.
Poznámka
Inicializační kontejnery v aplikacích používajících vyhrazený plán nebo spuštěné pouze v prostředí Consumption nemají přístup ke spravované identitě za běhu.
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 registr v registries
poli v properties.configuration
části šablony prostředku aplikace kontejneru. Pole passwordSecretRef
identifikuje název tajného kódu v secrets
názvu pole, ve kterém jste definovali heslo.
{
...
"registries": [{
"server": "docker.io",
"username": "my-registry-user-name",
"passwordSecretRef": "my-password-secret-name"
}]
}
Uložené přihlašovací údaje slouží k načtení image kontejneru z privátního registru při nasazení vaší aplikace.
Následující příklad ukazuje, jak nakonfigurovat přihlašovací údaje služby Azure Container Registry v aplikaci kontejneru.
{
...
"configuration": {
"secrets": [
{
"name": "docker-hub-password",
"value": "my-docker-hub-password"
}
],
...
"registries": [
{
"server": "docker.io",
"username": "someuser",
"passwordSecretRef": "docker-hub-password"
}
]
}
}
Poznámka
Docker Hub omezuje počet stahování imagí Dockeru. Po dosažení limitu se kontejnery ve vaší aplikaci nespustí. Pokud se chcete tomuto problému vyhnout, použijte registr s dostatečnými limity, jako je Azure Container Registry .
Spravovanou identitu Azure můžete použít k ověření ve službě Azure Container Registry místo použití uživatelského jména a hesla. Další informace najdete v tématu Spravované identity v Azure Container Apps.
Pokud chcete používat spravovanou identitu s registrem, musí být v aplikaci povolená identita a musí mít přiřazenou acrPull
roli v registru. Ke konfiguraci registru použijte ID prostředku spravované identity pro identitu přiřazenou uživatelem nebo system
pro identitu přiřazenou systémem ve identity
vlastnosti registru. Při použití spravované identity nekonfigurujte uživatelské jméno a heslo.
{
"identity": {
"type": "SystemAssigned,UserAssigned",
"userAssignedIdentities": {
"<IDENTITY1_RESOURCE_ID>": {}
}
}
"properties": {
"configuration": {
"registries": [
{
"server": "myacr1.azurecr.io",
"identity": "<IDENTITY1_RESOURCE_ID>"
},
{
"server": "myacr2.azurecr.io",
"identity": "system"
}]
}
...
}
}
Další informace o konfiguraci identit přiřazených uživatelem najdete v tématu Přidání identity přiřazené uživatelem.
Azure Container Apps má následující omezení:
Privilegované kontejnery: Azure Container Apps neumožňuje režim privilegovaných kontejnerů s přístupem na úrovni hostitele.
Operační systém: Vyžadují se image kontejnerů založené na Linuxu (linux/amd64
).
Maximální velikost obrázku:
Události
Vytváření inteligentních aplikací
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatŠkolení
Modul
Konfigurace aplikace typu kontejner v Azure Container Apps - Training
Tento modul provede uživatele vytvářením, konfigurací a správou container Apps a jejich prostředí. Zkoumá také možnosti příchozího přenosu dat, škálování, správu instancí a aspekty zabezpečení s využitím osvědčených postupů pro konfiguraci Azure Container Apps.