Kontejnery ve službě Azure Container Apps Preview
Azure Container Apps za vás spravuje podrobnosti o Kubernetes a orchestracích kontejnerů. Kontejnery v Azure Container Apps mohou používat libovolný modul runtime, programovací jazyk nebo vývojový zásobník podle vašeho výběru.
Azure Container Apps podporuje:
- Libovolná image kontejneru založená na Linuxu
- Kontejnery z jakéhokoli veřejného nebo privátního registru kontejnerů
Mezi další funkce patří:
- Základní image kontejneru se nevyžaduje.
- Změny v části
templatekonfigurace ARM aktivují novou revizi aplikace typu kontejner. - Pokud dojde k chybě kontejneru, automaticky se restartuje.
Konfigurace
Následující příklad konfigurace ukazuje možnosti, které jsou k dispozici při nastavování kontejneru.
{
...
"template": {
"containers": [
{
"image": "myacr.azurecr.io/myrepo/api-service:v1",
"name": "my-container-image",
"command": ["/bin/queue"],
"args": [],
"env": [
{
"name": "HTTP_PORT",
"value": "8080"
}
],
"resources": {
"cpu": 1,
"memory": "250Mb"
}
}]
}
}
| 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. | Odpovídá vstupnímu poli Dockeru. |
args |
Spusťte argumenty příkazu. | Položky v poli jsou spojené dohromady, aby se vytvořil seznam parametrů, který se předá spouštěcím příkazům. |
env |
Pole párů klíč-hodnota, které definují proměnné prostředí. | K secretRef odkazování na value tajný kód použijte místo pole . |
resources.cpu |
Počet procesorů přidělených ke kontejneru | Hodnoty musí dodržovat následující pravidla: hodnota musí být větší než nula a menší než 2 a může to být libovolné desetinné číslo s maximálně jedním desetinným místem. Například je 1.1 platný, ale 1.55 je neplatný. Výchozí hodnota je 0,5 CPU na kontejner. |
resources.memory |
Množství paměti RAM přidělené kontejneru. | Tato hodnota je až 4Gi do . Jediné povolené sjednocené jsou gibibajty ( Gi ). Hodnoty musí dodržovat následující pravidla: hodnota musí být větší než nula a menší než a může být libovolné desetinné číslo s maximálně 4Gi dvěma desetinnými místy. Například je 1.25Gi platný, ale 1.555Gi je neplatný. Výchozí hodnota je 1Gi pro každý kontejner. |
Celkový počet procesorů a paměti požadovaných pro všechny kontejnery v aplikaci typu kontejner se musí ssoučet s jednou z následujících kombinací.
| Virtuální procesory | Paměť v Gi |
|---|---|
| 0,5 | 1.0 |
| 1.0 | 2.0 |
| 1.5 | 3.0 |
| 2.0 | 4,0 |
- Všechny požadavky na procesor ve všech kontejnerech musí odpovídat jedné z hodnot ve sloupci vCPU.
- Všechny požadavky na paměť ve všech kontejnerech se musí shodovat s hodnotou paměti ve sloupci paměti ve stejném řádku sloupce CPU.
Více kontejnerů
V jedné aplikaci typu kontejner můžete definovat více kontejnerů. Skupiny kontejnerů se označuje jako pody. Kontejnery v podu sdílejí pevný disk a síťové prostředky a mají stejný životní cyklus aplikace.
Více kontejnerů spustíte společně definováním více než jednoho kontejneru v poli containers konfigurace.
Mezi důvody, proč spouštět kontejnery společně v podu, patří:
- Použijte kontejner jako saplikár pro primární aplikaci.
- Použití sdíleného místa na disku a virtuální sítě
- Sdílení pravidel škálování mezi kontejnery
- Seskupte několik kontejnerů, které musí vždy běžet společně.
- Povolte přímou komunikaci mezi kontejnery na stejném hostiteli.
Registry kontejnerů
Můžete nasadit image hostované v privátních registrech, kde se přihlašovací údaje poskytují prostřednictvím konfigurace Container Apps.
Pokud chcete použít registr kontejneru, nejprve definujte požadovaná pole v oddílu konfigurace. registries
{
...
"registries": {
"server": "docker.io",
"username": "my-registry-user-name",
"passwordSecretRef": "my-password-secretref-name"
}
}
Po tomto nastavení můžete uložené přihlašovací údaje použít při odkazech na image kontejneru v image poli containers .
Následující příklad ukazuje, jak nasadit aplikaci z Azure Container Registry.
{
...
"configuration": {
"secrets": [
{
"name": "acr-password",
"value": "my-acr-password"
}
],
"registries": [
{
"server": "myacr.azurecr.io",
"username": "someuser",
"passwordSecretRef": "acr-password"
}
]
}
}
Omezení
Azure Container Apps má následující omezení:
Privilegované kontejnery: Azure Container Apps nemůže spouštět privilegované kontejnery. Pokud se váš program pokusí spustit proces, který vyžaduje přístup od kořenového adresáře, u aplikace uvnitř kontejneru dojde k chybě za běhu.
Operační systém: Vyžaduje se image kontejnerů založené na Linuxu.