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: Kontejnery

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 template konfigurace 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.

Další kroky