Freigeben über


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.

  1. Erstellen eines VNET

    az network vnet create \
      --address-prefixes 13.0.0.0/23 \
      --resource-group "<RESOURCE_GROUP>" \
      --location "<LOCATION>" \
      --name "<VNET_NAME>"
    
  2. 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.
  1. 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.

  2. Ü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 muss Succeeded melden, bevor Sie mit dem nächsten Befehl fortfahren.

  3. 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> 

Nächste Schritte