Gestire i profili di carico di lavoro con l'interfaccia della riga di comando di Azure
Informazioni su come gestire un ambiente dei profili di carico di lavoro usando l'interfaccia della riga di comando di Azure.
Creare un'app contenitore in un profilo
Per impostazione predefinita, l'ambiente 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 se sono necessarie una delle funzionalità seguenti:
- Route definite 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 della rete virtuale. Questa quantità di controllo offre la possibilità di implementare le funzionalità seguenti:
- Route definite 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 dei profili di carico di lavoro.
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
Microsoft.App/environments
delega è necessaria per concedere al runtime di App contenitore il controllo necessario sulla rete virtuale per eseguire i profili di carico di lavoro nell'ambiente App contenitore.È possibile specificare come piccolo come CIDR
/27
(32 INDIRIZZI IP-8 riservati) per la subnet. Se si intende specificare un/27
CIDR, prendere in considerazione gli elementi seguenti:Esistono 11 indirizzi IP riservati per l'infrastruttura di App contenitore. Pertanto, un
/27
CIDR ha un massimo di 21 indirizzi IP disponibili.Gli indirizzi IP vengono allocati in modo diverso tra Solo consumo e Piani 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 correttamente. Ogni istanza (nodo vm) richiede un singolo INDIRIZZO IP. È possibile avere fino a 21 istanze in tutti i profili di carico di lavoro e centinaia o più repliche in esecuzione in questi profili di carico di lavoro.
Creare l'ambiente dei profili di carico di lavoro
Nota
È possibile configurare 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
--internal-only
flag .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>"
Il completamento di questo 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>"
È
provisioningState
necessario segnalareSucceeded
prima 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 di carico di lavoro specifico.
Aggiungere profili
Aggiungere un nuovo profilo di 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>
Il valore selezionato per il <WORKLOAD_PROFILE_NAME>
segnaposto è 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 tramite il update
comando .
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>
Nota
Non è possibile eliminare il profilo del carico di lavoro 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 di carico di lavoro disponibili
Usare il list-supported
comando per elencare i profili di carico di lavoro supportati per l'area.
Il comando seguente dell'interfaccia della riga di comando di Azure 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 simile all'esempio seguente:
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
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>