Správa profilů úloh pomocí Azure CLI

Naučte se spravovat prostředí profilů úloh pomocí Azure CLI.

Vytvoření aplikace kontejneru v profilu

Ve výchozím nastavení se vaše prostředí Container Apps vytvoří se spravovanou virtuální sítí, která se automaticky vygeneruje za vás. Vygenerované virtuální sítě jsou pro vás nepřístupné při jejich vytváření v tenantovi Microsoftu.

Případně můžete vytvořit prostředí s vlastní virtuální sítí , pokud potřebujete některou z následujících funkcí:

  • Trasy definované uživatelem
  • Integrace se službou Application Gateway
  • Network Security Groups (Skupiny zabezpečení sítě)
  • Komunikace s prostředky za privátními koncovými body ve vaší virtuální síti

Při vytváření prostředí s vlastní virtuální sítí máte úplnou kontrolu nad konfigurací virtuální sítě. Toto množství ovládacích prvků vám dává možnost implementovat následující funkce:

  • Trasy definované uživatelem
  • Integrace se službou Application Gateway
  • Network Security Groups (Skupiny zabezpečení sítě)
  • Komunikace s prostředky za privátními koncovými body ve vaší virtuální síti

K vytvoření prostředí profilů úloh použijte následující příkazy.

  1. Vytvořte virtuální síť.

    az network vnet create \
      --address-prefixes 13.0.0.0/23 \
      --resource-group "<RESOURCE_GROUP>" \
      --location "<LOCATION>" \
      --name "<VNET_NAME>"
    
  2. Vytvořte podsíť delegovanou na Microsoft.App/environments.

    az network vnet subnet create \
      --address-prefixes 13.0.0.0/23 \
      --delegations Microsoft.App/environments \
      --name "<SUBNET_NAME>" \
      --resource-group "<RESOURCE_GROUP>" \
      --vnet-name "<VNET_NAME>" \
      --query "id"
    

    Zkopírujte hodnotu ID a vložte ji do dalšího příkazu.

    Delegování Microsoft.App/environments se vyžaduje, aby modul runtime Container Apps získal potřebnou kontrolu nad vaší virtuální sítí pro spouštění profilů úloh v prostředí Container Apps.

    Pro podsíť můžete zadat minimální ip /27 adresy CIDR (32 IP-8). Pokud zadáte /27 CIDR, zvažte následující položky:

    • Pro infrastrukturu Container Apps je vyhrazeno 11 IP adres. /27 Proto má CIDR maximálně 21 dostupných IP adres.

    • IP adresy se přidělují odlišně mezi plány Consumption a Dedicated:

      Pouze spotřeba Vyhrazené
      Každá replika vyžaduje jednu IP adresu. Uživatelé nemůžou mít aplikace s více než 21 replikami ve všech aplikacích. Nasazení nulového výpadku vyžaduje zdvojnásobení IP adres, protože stará revize běží, dokud se nová revize úspěšně nenasadí. Každá instance (uzel virtuálního počítače) vyžaduje jednu IP adresu. V rámci všech profilů úloh můžete mít až 21 instancí a stovky nebo více replik spuštěných na těchto profilech úloh.
  1. Vytvoření prostředí profilů úloh

    Poznámka:

    Můžete nakonfigurovat, jestli vaše aplikace kontejneru umožňuje veřejné příchozí přenosy dat, nebo pouze příchozí přenos dat z vaší virtuální sítě na úrovni prostředí. Pokud chcete omezit příchozí přenos dat jenom na vaši virtuální síť, nastavte --internal-only příznak.

    az containerapp env create \
      --enable-workload-profiles \
      --resource-group "<RESOURCE_GROUP>" \
      --name "<NAME>" \
      --location "<LOCATION>"
    
    az containerapp env create \
      --enable-workload-profiles \
      --resource-group "<RESOURCE_GROUP>" \
      --name "<NAME>" \
      --location "<LOCATION>"
    

    Dokončení tohoto příkazu může trvat až 10 minut.

  2. Zkontrolujte stav vašeho prostředí. Následující příkaz hlásí, jestli se prostředí úspěšně vytvořilo.

    az containerapp env show \
      --name "<ENVIRONMENT_NAME>" \
      --resource-group "<RESOURCE_GROUP>"
    

    Před provisioningState přechodem na další příkaz je Succeeded potřeba hlásit zprávu.

  3. Vytvořte novou aplikaci kontejneru.

    az containerapp create \
      --resource-group "<RESOURCE_GROUP>" \
      --name "<CONTAINER_APP_NAME>" \
      --target-port 80 \
      --ingress external \
      --image mcr.microsoft.com/k8se/quickstart:latest \
      --environment "<ENVIRONMENT_NAME>" \
      --workload-profile-name "Consumption"
    

    Tento příkaz nasadí aplikaci do integrovaného profilu úlohy Consumption. Pokud chcete vytvořit aplikaci ve vyhrazeném profilu, musíte nejprve přidat profil do prostředí.

    Tento příkaz vytvoří novou aplikaci v prostředí pomocí konkrétního profilu úlohy.

Přidání profilů

Přidejte do existujícího prostředí nový profil úlohy.

az containerapp env workload-profile add \
  --resource-group <RESOURCE_GROUP> \
  --name <ENVIRONMENT_NAME> \
  --workload-profile-type <WORKLOAD_PROFILE_TYPE> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> \
  --min-nodes <MIN_NODES> \
  --max-nodes <MAX_NODES>

Hodnota, kterou vyberete pro <WORKLOAD_PROFILE_NAME> zástupný symbol, je popisný název profilu úlohy.

Použití popisných názvů umožňuje přidat do prostředí více profilů stejného typu. Popisný název je to, co používáte při nasazování a údržbě aplikace kontejneru v profilu úlohy.

Úprava profilů

Pomocí příkazu můžete upravit minimální a maximální počet uzlů používaných profilem update úlohy.

az containerapp env workload-profile update \
  --resource-group <RESOURCE_GROUP> \
  --name <ENV_NAME> \
  --workload-profile-type <WORKLOAD_PROFILE_TYPE> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> \
  --min-nodes <MIN_NODES> \
  --max-nodes <MAX_NODES>

Odstranění profilu

K odstranění profilu úlohy použijte následující příkaz.

az containerapp env workload-profile delete \
  --resource-group "<RESOURCE_GROUP>" \
  --name <ENVIRONMENT_NAME> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> 

Poznámka:

Profil úlohy Consumption nelze odstranit.

Kontrola profilů

Následující příkazy umožňují zobrazit seznam dostupných profilů ve vaší oblasti a profily používané v konkrétním prostředí.

Výpis dostupných profilů úloh

list-supported Pomocí příkazu zobrazte seznam podporovaných profilů úloh pro vaši oblast.

Následující příkaz Azure CLI zobrazí výsledky v tabulce.

az containerapp env workload-profile list-supported \
  --location <LOCATION>  \
  --query "[].{Name: name, Cores: properties.cores, MemoryGiB: properties.memoryGiB, Category: properties.category}" \
  -o table

Odpověď se podobá tabulce podobné následujícímu příkladu:

Name         Cores    MemoryGiB    Category
-----------  -------  -----------  ---------------
D4           4        16           GeneralPurpose
D8           8        32           GeneralPurpose
D16          16       64           GeneralPurpose
E4           4        32           MemoryOptimized
E8           8        64           MemoryOptimized
E16          16       128          MemoryOptimized
E32          32       256          MemoryOptimized
Consumption  4        8            Consumption

Vyberte profil úlohy a při spuštění možnosti použijte pole Název.--workload-profile-typeaz containerapp env workload-profile set

Zobrazení profilu úlohy

Zobrazení podrobností o profilu úlohy

az containerapp env workload-profile show \
  --resource-group <RESOURCE_GROUP> \
  --name <ENVIRONMENT_NAME> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> 

Další kroky