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:
- Trasy zdefiniowane przez użytkownika
- Integracja z usługą Application Gateway
- Grupy zabezpieczeń sieci
- Komunikacja z zasobami za prywatnymi punktami końcowymi w sieci wirtualnej
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:
- Trasy zdefiniowane przez użytkownika
- Integracja z usługą Application Gateway
- Grupy zabezpieczeń sieci
- Komunikacja z zasobami za prywatnymi punktami końcowymi w sieci wirtualnej
Użyj następujących poleceń, aby utworzyć środowisko profilów obciążeń.
Utwórz sieć wirtualną.
az network vnet create \ --address-prefixes 13.0.0.0/23 \ --resource-group "<RESOURCE_GROUP>" \ --location "<LOCATION>" \ --name "<VNET_NAME>"
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ń.
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.
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.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>