Zarządzanie profilami obciążeń za pomocą interfejsu wiersza polecenia platformy Azure

Dowiedz się, jak zarządzać środowiskiem profilów obciążeń przy użyciu interfejsu wiersza polecenia platformy Azure.

Tworzenie aplikacji kontenera w profilu

Domyślnie środowisko usługi Container Apps jest tworzone przy użyciu zarządzanej sieci wirtualnej, która jest automatycznie generowana. Wygenerowane sieci wirtualne są niedostępne podczas tworzenia ich w dzierżawie firmy Microsoft.

Alternatywnie możesz utworzyć środowisko z niestandardową siecią wirtualną, jeśli potrzebujesz dowolnej z następujących funkcji:

Podczas tworzenia środowiska z niestandardową siecią wirtualną masz pełną kontrolę nad konfiguracją sieci wirtualnej. Ta ilość kontroli umożliwia zaimplementowanie następujących funkcji:

Użyj następujących poleceń, aby utworzyć środowisko profilów obciążeń.

  1. Utwórz sieć wirtualną.

    az network vnet create \
      --address-prefixes 13.0.0.0/23 \
      --resource-group "<RESOURCE_GROUP>" \
      --location "<LOCATION>" \
      --name "<VNET_NAME>"
    
  2. Utwórz podsieć delegowana do .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"
    

    Skopiuj wartość identyfikatora i wklej ją do następnego polecenia.

    Delegowanie Microsoft.App/environments jest wymagane do nadania środowisku uruchomieniowemu usługi Container Apps wymaganej kontroli nad siecią wirtualną w celu uruchamiania profilów obciążeń w środowisku Container Apps.

    Dla podsieci można określić tak małą /27 , jak ciDR (32 adresy IP-8 zarezerwowane). Jeśli zamierzasz określić /27 trasę CIDR, rozważ następujące elementy:

    • Istnieje 11 adresów IP zarezerwowanych dla infrastruktury usługi Container Apps. /27 W związku z tym ciDR ma maksymalnie 21 dostępnych adresów IP.

    • Adresy IP są przydzielane inaczej między planami zużycie i dedykowanymi:

      Tylko zużycie Dedykowane
      Każda replika wymaga jednego adresu IP. Użytkownicy nie mogą mieć aplikacji z więcej niż 21 replikami we wszystkich aplikacjach. Wdrożenie bez przestojów wymaga dwukrotnego użycia adresów IP, ponieważ stara poprawka jest uruchomiona do momentu pomyślnego wdrożenia nowej poprawki. Każde wystąpienie (węzeł maszyny wirtualnej) wymaga jednego adresu IP. W przypadku wszystkich profilów obciążeń może być maksymalnie 21 wystąpień, a setki lub więcej replik uruchomionych w tych profilach obciążeń.
  1. Tworzenie środowiska profilów obciążeń

    Uwaga

    Możesz skonfigurować, czy aplikacja kontenera zezwala na publiczny ruch przychodzący, czy tylko ruch przychodzący z sieci wirtualnej na poziomie środowiska. Aby ograniczyć ruch przychodzący tylko do sieci wirtualnej, ustaw flagę --internal-only .

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

    Wykonanie tego polecenia może potrwać do 10 minut.

  2. Sprawdź stan środowiska. Następujące polecenie zgłasza, czy środowisko zostało pomyślnie utworzone.

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

    Przed provisioningState przejściem do następnego polecenia należy zgłosić Succeeded ten raport.

  3. Utwórz nową aplikację kontenera.

    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"
    

    To polecenie wdraża aplikację we wbudowanym profilu obciążenia Zużycie. Jeśli chcesz utworzyć aplikację w profilu dedykowanym, musisz najpierw dodać profil do środowiska.

    To polecenie tworzy nową aplikację w środowisku przy użyciu określonego profilu obciążenia.

Dodawanie profilów

Dodaj nowy profil obciążenia do istniejącego środowiska.

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>

Wartość wybrana dla symbolu zastępczego <WORKLOAD_PROFILE_NAME> to przyjazna nazwa profilu obciążenia.

Używanie przyjaznych nazw umożliwia dodawanie wielu profilów tego samego typu do środowiska. Przyjazna nazwa jest używana podczas wdrażania i obsługi aplikacji kontenera w profilu obciążenia.

Edytowanie profilów

Za pomocą update polecenia można zmodyfikować minimalną i maksymalną liczbę węzłów używanych przez profil obciążenia.

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>

Usuwanie profilu

Użyj następującego polecenia, aby usunąć profil obciążenia.

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

Uwaga

Nie można usunąć profilu obciążenia Zużycie.

Inspekcja profilów

Poniższe polecenia umożliwiają wyświetlanie listy dostępnych profilów w twoim regionie i tych używanych w określonym środowisku.

Wyświetlanie listy dostępnych profilów obciążeń

Użyj polecenia , list-supported aby wyświetlić listę obsługiwanych profilów obciążeń dla twojego regionu.

Następujące polecenie interfejsu wiersza polecenia platformy Azure wyświetla wyniki w tabeli.

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

Odpowiedź przypomina tabelę podobną do poniższego przykładu:

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

Wybierz profil obciążenia i użyj pola Nazwa po uruchomieniu az containerapp env workload-profile set--workload-profile-type opcji .

Pokaż profil obciążenia

Wyświetl szczegółowe informacje o profilu obciążenia.

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

Następne kroki