Verwalten von Workloadprofilen mit der Azure CLI
Erfahren Sie, wie Sie eine Umgebung für Workloadprofile in der Azure CLI verwalten.
Erstellen einer Container-App in einem Profil
Standardmäßig wird Ihre Container-Apps-Umgebung mit einem verwalteten VNet erstellt, das automatisch für Sie generiert wird. Generierte VNets sind für Sie nicht zugänglich, da sie im Mandanten von Microsoft erstellt werden.
Alternativ können Sie eine Umgebung mit einem benutzerdefinierten VNet erstellen, wenn Sie eines der folgenden Features benötigen:
- Benutzerdefinierte Routen
- Integration in Application Gateway
- Netzwerksicherheitsgruppen
- Kommunikation mit Ressourcen hinter privaten Endpunkten in Ihrem virtuellen Netzwerk
Wenn Sie eine Umgebung mit einem benutzerdefinierten VNet erstellen, haben Sie die vollständige Kontrolle über die VNet-Konfiguration. Dieses Maß an Steuerung bietet Ihnen die Möglichkeit, die folgenden Features zu implementieren:
- Benutzerdefinierte Routen
- Integration in Application Gateway
- Netzwerksicherheitsgruppen
- Kommunikation mit Ressourcen hinter privaten Endpunkten in Ihrem virtuellen Netzwerk
Verwenden Sie die folgenden Befehle, um eine Workloadprofile-Umgebung zu erstellen.
Erstellen eines VNET
az network vnet create \ --address-prefixes 13.0.0.0/23 \ --resource-group "<RESOURCE_GROUP>" \ --location "<LOCATION>" \ --name "<VNET_NAME>"
Erstellen Sie ein Subnetz, das an
Microsoft.App/environments
delegiert wird.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"
Kopieren Sie den ID-Wert und fügen Sie ihn in den nächsten Befehl ein.
Die
Microsoft.App/environments
-Delegierung ist erforderlich, um der Container Apps-Runtime die erforderliche Kontrolle über Ihr VNet zu geben, um Workloadprofile in der Container Apps-Umgebung auszuführen.Sie können bis zu minimal
/27
-CIDR (32 IPs-8 reserviert) für das Subnetz angeben. Wenn Sie einen/27
-CIDR angeben möchten, sollten Sie die folgenden Elemente berücksichtigen:Für die Container-Apps-Infrastruktur sind 11 IP-Adressen reserviert. Daher verfügt ein
/27
-CIDR über maximal 21 verfügbare IP-Adressen.IP-Adressen werden nur zwischen Verbrauchs- und dedizierten Plänen unterschiedlich zugeordnet:
Nur Verbrauch Dediziert Für jedes Replikat ist eine IP erforderlich. Benutzer können nicht über Apps mit mehr als 21 Replikaten in allen Apps verfügen. Die Bereitstellung ohne Ausfallzeiten erfordert doppelte IPs, da die alte Revision ausgeführt wird, bis die neue Revision erfolgreich bereitgestellt wurde. Jede Instanz (VM-Knoten) erfordert eine einzelne IP. Sie können über bis zu 21 Instanzen in allen Workloadprofilen verfügen, und über hunderte oder mehr Replikate, die auf diesen Workloadprofilen ausgeführt werden.
Workloadprofil-Umgebungen erstellen
Hinweis
Sie können auf der Umgebungsebene konfigurieren, ob Ihre Container-App einen öffentlichen Eingang oder einen Eingang nur aus Ihrem VNet zulässt. Um den Einstieg auf Ihr VNet einzuschränken, legen Sie das
--internal-only
-Flag fest.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>"
Die Ausführung dieses Befehls kann bis zu zehn Minuten dauern.
Überprüfen Sie den Status Ihrer Umgebung. Der folgende Befehl meldet, ob die Umgebung erfolgreich erstellt wird.
az containerapp env show \ --name "<ENVIRONMENT_NAME>" \ --resource-group "<RESOURCE_GROUP>"
Die
provisioningState
mussSucceeded
melden, bevor Sie mit dem nächsten Befehl fortfahren.Erstellen Sie eine neue Container-App.
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"
Mit diesem Befehl wird die Anwendung im integrierten Workloadprofil „Verbrauch“ bereitgestellt. Wenn Sie eine App in einem dedizierten Profil erstellen möchten, müssen Sie das Profil zuerst der Umgebung hinzufügen.
Mit diesem Befehl wird die neue Anwendung in der Umgebung mithilfe eines bestimmten Workloadprofils erstellt.
Hinzufügen von Profilen
Fügen Sie einer vorhandenen Umgebung ein neues Workloadprofil hinzu.
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>
Der Wert, den Sie für den <WORKLOAD_PROFILE_NAME>
-Platzhalter auswählen, ist der Anzeigename des Workloadprofils.
Mithilfe von Anzeigenamen können Sie einer Umgebung mehrere Profile desselben Typs hinzufügen. Der Anzeigename ist das, was Sie beim Bereitstellen und Verwalten einer Container-App in einem Workloadprofil verwenden.
Profile bearbeiten
Sie können die minimale und maximale Anzahl von Knoten ändern, die von einem Workloadprofil über den update
-Befehl verwendet werden.
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>
Ein Profil löschen
Verwenden Sie den folgenden Befehl, um ein Workloadprofil zu löschen.
az containerapp env workload-profile delete \
--resource-group "<RESOURCE_GROUP>" \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>
Hinweis
Das Workloadprofil Verbrauch kann nicht gelöscht werden.
Prüfen von Profilen
Mit den folgenden Befehlen können Sie verfügbare Profile in Ihrer Region und in einer bestimmten Umgebung auflisten.
Auflisten der verfügbaren Workloadprofile
Verwenden Sie den list-supported
-Befehl, um die unterstützten Workloadprofile für Ihre Region auflisten.
Der folgende Azure CLI-Befehl zeigt die Ergebnisse in einer Tabelle an.
az containerapp env workload-profile list-supported \
--location <LOCATION> \
--query "[].{Name: name, Cores: properties.cores, MemoryGiB: properties.memoryGiB, Category: properties.category}" \
-o table
Die Antwort ähnelt einer Tabelle, die dem folgenden Beispiel ähnelt:
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
Wählen Sie ein Workloadprofil aus und verwenden Sie das Feld Name beim Hinzufügen oder Aktualisieren von Workloadprofilen mit den Befehlen az containerapp env workload-profile add
oder az containerapp env workload-profile update
für die Option --workload-profile-type
.
Anzeigen eines Workloadprofils
Zeigen Sie Details zu einem Workloadprofil an.
az containerapp env workload-profile show \
--resource-group <RESOURCE_GROUP> \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>