Hantera arbetsbelastningsprofiler med Azure CLI

Lär dig att hantera en miljö för arbetsbelastningsprofiler med hjälp av Azure CLI.

Skapa en containerapp i en profil

Som standard skapas din Container Apps-miljö med ett hanterat virtuellt nätverk som genereras automatiskt åt dig. Genererade virtuella nätverk är otillgängliga för dig när de skapas i Microsofts klientorganisation.

Du kan också skapa en miljö med ett anpassat virtuellt nätverk om du behöver någon av följande funktioner:

  • Användardefinierade vägar
  • Integrering med Application Gateway
  • Nätverkssäkerhetsgrupper
  • Kommunicera med resurser bakom privata slutpunkter i ditt virtuella nätverk

När du skapar en miljö med ett anpassat virtuellt nätverk har du fullständig kontroll över VNet-konfigurationen. Den här mängden kontroll ger dig möjlighet att implementera följande funktioner:

  • Användardefinierade vägar
  • Integrering med Application Gateway
  • Nätverkssäkerhetsgrupper
  • Kommunicera med resurser bakom privata slutpunkter i ditt virtuella nätverk

Använd följande kommandon för att skapa en miljö för arbetsbelastningsprofiler.

  1. Skapa ett virtuellt nätverk.

    az network vnet create \
      --address-prefixes 13.0.0.0/23 \
      --resource-group "<RESOURCE_GROUP>" \
      --location "<LOCATION>" \
      --name "<VNET_NAME>"
    
  2. Skapa ett undernät som delegerats till 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"
    

    Kopiera ID-värdet och klistra in i nästa kommando.

    Delegeringen Microsoft.App/environments krävs för att ge Container Apps-körningen den kontroll som krävs över ditt virtuella nätverk för att köra arbetsbelastningsprofiler i Container Apps-miljön.

    Du kan ange så liten som en /27 CIDR (reserverad 32 IP-adresser-8) för undernätet. Om du ska ange en /27 CIDR bör du överväga följande:

    • Det finns 11 IP-adresser reserverade för Container Apps-infrastrukturen. Därför har en /27 CIDR högst 21 tillgängliga IP-adresser.

    • IP-adresser allokeras på olika sätt mellan endast förbrukning och dedikerade planer:

      Endast förbrukning Dedikerad
      Varje replik kräver en IP-adress. Användare kan inte ha appar med fler än 21 repliker i alla appar. Noll driftstoppsdistribution kräver dubbelt så många IP-adresser eftersom den gamla revisionen körs tills den nya revisionen har distribuerats. Varje instans (VM-nod) kräver en enda IP-adress. Du kan ha upp till 21 instanser i alla arbetsbelastningsprofiler och hundratals eller fler repliker som körs på dessa arbetsbelastningsprofiler.
  1. Skapa en miljö för arbetsbelastningsprofiler

    Kommentar

    Du kan konfigurera om din containerapp tillåter offentlig ingress eller endast ingress inifrån ditt virtuella nätverk på miljönivå. För att begränsa ingressen till bara ditt virtuella nätverk anger du --internal-only flaggan.

    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>"
    

    Det här kommandot kan ta upp till 10 minuter att slutföra.

  2. Kontrollera miljöns status. Följande kommando rapporterar om miljön har skapats.

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

    Behöver provisioningState rapportera Succeeded innan du går vidare till nästa kommando.

  3. Skapa en ny containerapp.

    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"
    

    Det här kommandot distribuerar programmet till den inbyggda arbetsbelastningsprofilen för förbrukning. Om du vill skapa en app i en dedikerad profil måste du först lägga till profilen i miljön.

    Det här kommandot skapar det nya programmet i miljön med hjälp av en specifik arbetsbelastningsprofil.

Lägga till profiler

Lägg till en ny arbetsbelastningsprofil i en befintlig miljö.

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>

Det värde du väljer för <WORKLOAD_PROFILE_NAME> platshållaren är det egna namnet på arbetsbelastningsprofilen.

Med hjälp av egna namn kan du lägga till flera profiler av samma typ i en miljö. Det egna namnet är det du använder när du distribuerar och underhåller en containerapp i en arbetsbelastningsprofil.

Redigera profiler

Du kan ändra det minsta och högsta antalet noder som används av en arbetsbelastningsprofil via update kommandot .

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>

Ta bort en profil

Använd följande kommando för att ta bort en arbetsbelastningsprofil.

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

Kommentar

Det går inte att ta bort arbetsbelastningsprofilen Förbrukning .

Inspektera profiler

Med följande kommandon kan du lista tillgängliga profiler i din region och de som används i en viss miljö.

Lista tillgängliga arbetsbelastningsprofiler

list-supported Använd kommandot för att visa de arbetsbelastningsprofiler som stöds för din region.

Följande Azure CLI-kommando visar resultatet i en tabell.

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

Svaret liknar en tabell som liknar exemplet nedan:

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

Välj en arbetsbelastningsprofil och använd fältet Namn när du kör az containerapp env workload-profile set för alternativet--workload-profile-type.

Visa en arbetsbelastningsprofil

Visa information om en arbetsbelastningsprofil.

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

Nästa steg