Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Informazioni su come gestire i profili di carico di lavoro nell'ambiente App contenitore usando l'interfaccia della riga di comando di Azure.
Creare un'app contenitore in un profilo
Per impostazione predefinita, l'ambiente di App contenitore viene creato con una rete virtuale gestita generata automaticamente. Le reti virtuali generate non sono accessibili quando vengono create nel tenant di Microsoft.
In alternativa, è possibile creare un ambiente con una rete virtuale personalizzata qualora sia necessaria una delle funzionalità seguenti:
- Ruoli definiti dall'utente
- Integrazione con il gateway applicazione
- Gruppi di sicurezza di rete
- Comunicazione con le risorse dietro endpoint privati nella rete virtuale
Quando si crea un ambiente con una rete virtuale personalizzata, si ha il controllo completo sulla configurazione di tale rete. In tal modo, si ha la possibilità di implementare le funzionalità seguenti:
- Ruoli definiti dall'utente
- Integrazione con il gateway applicazione
- Gruppi di sicurezza di rete
- Comunicazione con le risorse dietro endpoint privati nella rete virtuale
Usare i comandi seguenti per creare un ambiente per Container Apps.
Creare una rete virtuale.
az network vnet create \ --address-prefixes 13.0.0.0/23 \ --resource-group "<RESOURCE_GROUP>" \ --location "<LOCATION>" \ --name "<VNET_NAME>"Creare una subnet delegata a
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"Copiare il valore ID e incollarlo nel comando successivo.
La delega
Microsoft.App/environmentsè necessaria per concedere al runtime di App contenitore il controllo necessario sulla rete virtuale al fine di eseguire i profili del carico di lavoro nell'ambiente App contenitore.È possibile specificare un intervallo CIDR piccolo come
/27(32 indirizzi IP-8 riservati) per la subnet. Se si intende specificare un intervallo CIDR/27, prendere in considerazione gli elementi seguenti:Sono presenti 11 indirizzi IP riservati per l'infrastruttura di App contenitore. Pertanto, un intervallo CIDR
/27ha un massimo di 21 indirizzi IP disponibili.Gli indirizzi IP vengono allocati in modo diverso tra i piani solo a consumo e dedicati:
Solo Consumo Dedicato Ogni replica richiede un indirizzo IP. Gli utenti non possono avere app con più di 21 repliche in tutte le app. La distribuzione senza tempi di inattività richiede il doppio degli indirizzi IP perché la revisione precedente è in esecuzione fino a quando la nuova revisione non viene distribuita. Ogni istanza (nodo della macchina virtuale) richiede un singolo indirizzo IP. È possibile avere fino a 21 istanze in tutti i profili del carico di lavoro e centinaia o più repliche in esecuzione in tali profili.
Creare un ambiente App contenitore.
Note
È possibile scegliere se l'app contenitore consente l'ingresso pubblico o solo l'ingresso dall'interno della rete virtuale a livello di ambiente. Per limitare l'ingresso solo alla rete virtuale, impostare il flag
--internal-only.az containerapp env create \ --resource-group "<RESOURCE_GROUP>" \ --name "<NAME>" \ --location "<LOCATION>"az containerapp env create \ --resource-group "<RESOURCE_GROUP>" \ --name "<NAME>" \ --location "<LOCATION>"L'esecuzione del comando può richiedere fino a 10 minuti.
Controllare lo stato dell'ambiente. Il comando seguente segnala se l'ambiente viene creato correttamente.
az containerapp env show \ --name "<ENVIRONMENT_NAME>" \ --resource-group "<RESOURCE_GROUP>"È necessario che
provisioningStatesegnaliSucceededprima di passare al comando successivo.Creare una nuova app contenitore.
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"Questo comando distribuisce l'applicazione nel profilo del carico di lavoro a consumo predefinito. Se si vuole creare un'app in un profilo dedicato, è prima necessario aggiungere il profilo all'ambiente.
Questo comando crea la nuova applicazione nell'ambiente usando un profilo del carico di lavoro specifico.
Aggiungere profili
Aggiungere un nuovo profilo del carico di lavoro a un ambiente esistente.
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>
Quando si seleziona un profilo di carico di lavoro da aggiungere, è importante garantire la disponibilità a livello di area. Il valore selezionato per il segnaposto <WORKLOAD_PROFILE_NAME> è il nome descrittivo del profilo del carico di lavoro.
L'uso di nomi descrittivi consente di aggiungere più profili dello stesso tipo a un ambiente. Il nome descrittivo è quello usato durante la distribuzione e la gestione di un'app contenitore in un profilo del carico di lavoro.
Modifica profili
È possibile modificare il numero minimo e massimo di nodi usati da un profilo del carico di lavoro con il comando update.
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>
Eliminare un profilo
Usare il comando seguente per eliminare un profilo del carico di lavoro.
az containerapp env workload-profile delete \
--resource-group "<RESOURCE_GROUP>" \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>
Note
Non è possibile eliminare il profilo del carico di lavoro A consumo.
Esaminare i profili
I comandi seguenti consentono di elencare i profili disponibili nell'area e quelli usati in un ambiente specifico.
Elencare i profili del carico di lavoro disponibili
Usare il comando list-supported per elencare i profili del carico di lavoro supportati per l'area.
Il comando dell'interfaccia della riga di comando di Azure seguente visualizza i risultati in una tabella.
az containerapp env workload-profile list-supported \
--location <LOCATION> \
--query "[].{Name: name, Cores: properties.cores, MemoryGiB: properties.memoryGiB, Category: properties.category}" \
-o table
La risposta è simile a una tabella analoga a quella dell'esempio seguente:
Name Cores MemoryGiB Category
------------------------- ------- ----------- --------------------
D4 4 16 GeneralPurpose
D8 8 32 GeneralPurpose
D16 16 64 GeneralPurpose
D32 32 128 GeneralPurpose
E4 4 32 MemoryOptimized
E8 8 64 MemoryOptimized
E16 16 128 MemoryOptimized
E32 32 256 MemoryOptimized
Consumption 4 8 Consumption
Consumption-GPU-NC24-A100 24 220 Consumption-GPU-A100
Consumption-GPU-NC8as-T4 8 56 Consumption-GPU-T4
Flex 4 16 Consumption
NC24-A100 24 220 GPU-NC-A100
NC48-A100 48 440 GPU-NC-A100
NC96-A100 96 880 GPU-NC-A100
Selezionare un profilo del carico di lavoro e usare il campo Nome quando si aggiungono o si aggiornano i profili del carico di lavoro con i az containerapp env workload-profile add comandi o az containerapp env workload-profile update per l'opzione --workload-profile-type.
Visualizzare un profilo del carico di lavoro
Visualizzare i dettagli relativi a un profilo del carico di lavoro.
az containerapp env workload-profile show \
--resource-group <RESOURCE_GROUP> \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>