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.
- Distribuire una macchina virtuale Nexus di Azure usando l'interfaccia della riga di comando di Azure
Questa guida introduttiva è progettata per iniziare a usare le macchine virtuali Nexus per ospitare funzioni di rete virtuale (VNFS). Seguendo i passaggi descritti in questa guida, è possibile creare rapidamente e facilmente una macchina virtuale Nexus personalizzata che soddisfi esigenze e requisiti specifici. Che tu sia un principiante o un esperto di rete Nexus, questa guida è qui per aiutarti. Si apprenderà tutto ciò che è necessario sapere per creare e personalizzare le macchine virtuali Nexus per l'hosting di funzioni di rete virtuale.
Prima di iniziare
Se non si ha un account Azure, creare un account gratuito prima di iniziare.
È possibile utilizzare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Introduzione ad Azure Cloud Shell.
Se preferisci eseguire localmente i comandi di riferimento della CLI, installa l'Azure CLI. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se usi un'installazione locale, accedi all'interfaccia della riga di comando di Azure usando il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Eseguire l'autenticazione ad Azure con l'interfaccia della riga di comando di Azure.
Quando ti viene richiesto, installa l'estensione Azure CLI al primo utilizzo. Per altre informazioni sulle estensioni, vedere Usare e gestire le estensioni con l'interfaccia della riga di comando di Azure.
Esegui az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, avviare az upgrade.
Installare la versione più recente delle estensioni dell'interfaccia della riga di comando di Azure necessarie.
Se sono presenti più sottoscrizioni di Azure, selezionare l'ID sottoscrizione appropriato in cui devono essere fatturate le risorse usando il
az accountcomando .Prima di procedere con la creazione della macchina virtuale, assicurarsi che l'immagine del contenitore da usare venga creata in base alle istruzioni.
Creare un gruppo di risorse usando il comando
az group create. Un gruppo di risorse di Azure è un gruppo logico in cui le risorse di Azure vengono distribuite e gestite. Quando si crea un gruppo di risorse, viene richiesto di specificare una posizione. Questa posizione è la posizione di archiviazione dei metadati del gruppo di risorse e dove le risorse vengono eseguite in Azure se non si specifica un'altra regione durante la creazione della risorsa. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella località stati uniti orientali.az group create --name myResourceGroup --location eastusL'esempio di output seguente è simile alla corretta creazione del gruppo di risorse:
{ "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup", "location": "eastus", "managedBy": null, "name": "myResourceGroup", "properties": { "provisioningState": "Succeeded" }, "tags": null }Per distribuire un file Bicep o un modello di ARM, è necessario l'accesso in scrittura alle risorse distribuite e l'accesso per tutte le operazioni sul tipo di risorsa Microsoft.Resources/deployments. Ad esempio, per distribuire un cluster, sono necessarie le autorizzazioni Microsoft.NetworkCloud/virtualMachines/write e Microsoft.Resources/deployments/*. Per un elenco dei ruoli e delle autorizzazioni, vedere Ruoli predefiniti di Azure.
È necessario l'ID risorsa del cluster Nexus dell'operatore
custom locationdi Azure.È necessario creare diverse reti in base ai requisiti specifici del carico di lavoro ed è essenziale avere gli indirizzi IP appropriati disponibili per i carichi di lavoro. Per garantire un'implementazione uniforme, è consigliabile consultare i team di supporto pertinenti per assistenza.
- Completare i prerequisiti per la distribuzione di una macchina virtuale Nexus.
Creare una macchina virtuale Nexus
L'esempio seguente crea una macchina virtuale denominata myNexusVirtualMachine nel gruppo di risorse myResourceGroup nella posizione eastus .
Prima di eseguire i comandi, è necessario impostare diverse variabili per definire la configurazione per la macchina virtuale. Ecco le variabili da impostare, insieme ad alcuni valori predefiniti che è possibile usare per determinate variabili:
| Variable | Description |
|---|---|
| UBICAZIONE | Area di Azure in cui si vuole creare la macchina virtuale. |
| Gruppo di risorse | Nome del gruppo di risorse di Azure in cui si vuole creare la macchina virtuale. |
| ABBONAMENTO | ID della sottoscrizione di Azure. |
| CUSTOM_LOCATION | Questo argomento specifica una posizione personalizzata dell'istanza Nexus. |
| CSN_ARM_ID | ID risorsa ARM della rete di servizi cloud a cui si connette la macchina virtuale. |
| L3_NETWORK_ID | ID risorsa ARM della rete L3 a cui si connette la macchina virtuale. |
| NETWORK_INTERFACE_NAME | Nome dell'interfaccia di rete L3 da assegnare. |
| ADMIN_USERNAME | Nome utente per l'amministratore della macchina virtuale. |
| SSH_PUBLIC_KEY | Chiave pubblica SSH usata per la comunicazione sicura con la macchina virtuale. |
| CPU_CORES | Numero di core CPU per la macchina virtuale (numero pari, max 46 vCPU) |
| MEMORY_SIZE | Quantità di memoria (in GiB, max 224 GiB) per la macchina virtuale. |
| VM_DISK_SIZE | Dimensioni (in GiB) del disco della macchina virtuale. |
| VM_IMAGE | URL dell'immagine della macchina virtuale. |
| ACR_URL | L'URL del Registro dei Container di Azure. |
| ACR_USERNAME | Nome utente per Registro Azure Container. |
| ACR_PASSWORD | Password per Registro Azure Container. |
| UAMI_ID | ID risorsa dell'identità gestita assegnata dall'utente (se si usa l'identità gestita assegnata dall'utente). |
Avvertimento
I dati utente non vengono crittografati e qualsiasi processo nella macchina virtuale può eseguire query su questi dati. Non è consigliabile archiviare informazioni riservate nei dati utente. Per altre informazioni, vedere Procedure consigliate per la sicurezza e la crittografia dei dati di Azure.
Dopo aver definito le variabili, è possibile creare la macchina virtuale eseguendo il comando dell'interfaccia della riga di comando di Azure.
Per fornire un output più dettagliato per la risoluzione dei problemi, aggiungere il --debug flag alla fine.
Usare il set di comandi seguente e sostituire i valori di esempio con i valori preferiti. È anche possibile usare i valori predefiniti per alcune delle variabili, come illustrato nell'esempio seguente:
# Azure parameters
RESOURCE_GROUP="myResourceGroup"
SUBSCRIPTION="<Azure subscription ID>"
CUSTOM_LOCATION="/subscriptions/<subscription_id>/resourceGroups/<managed_resource_group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
LOCATION="$(az group show --name $RESOURCE_GROUP --query location --subscription $SUBSCRIPTION -o tsv)"
# VM parameters
VM_NAME="myNexusVirtualMachine"
# VM credentials
ADMIN_USERNAME="azureuser"
SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)"
# Network parameters
CSN_ARM_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/cloudServicesNetworks/<csn-name>"
L3_NETWORK_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/l3Networks/<l3Network-name>"
NETWORK_INTERFACE_NAME="mgmt0"
# VM Size parameters
CPU_CORES=4
MEMORY_SIZE=12
VM_DISK_SIZE="64"
# Virtual Machine Image parameters
VM_IMAGE="<VM image, example: myacr.azurecr.io/ubuntu:20.04>"
ACR_URL="<Azure Container Registry URL, example: myacr.azurecr.io>"
ACR_USERNAME="<Azure Container Registry username>"
ACR_PASSWORD="<Azure Container Registry password>"
Importante
È essenziale sostituire i segnaposto per CUSTOM_LOCATION, CSN_ARM_ID, L3_NETWORK_ID e ACR con i valori effettivi prima di eseguire questi comandi.
Dopo aver definito queste variabili, è possibile creare la macchina virtuale eseguendo il comando seguente dell'interfaccia della riga di comando di Azure.
az networkcloud virtualmachine create \
--name "$VM_NAME" \
--resource-group "$RESOURCE_GROUP" \
--subscription "$SUBSCRIPTION" \
--extended-location name="$CUSTOM_LOCATION" type="CustomLocation" \
--location "$LOCATION" \
--admin-username "$ADMIN_USERNAME" \
--csn "attached-network-id=$CSN_ARM_ID" \
--cpu-cores $CPU_CORES \
--memory-size $MEMORY_SIZE \
--network-attachments '[{"attachedNetworkId":"'$L3_NETWORK_ID'","ipAllocationMethod":"Dynamic","defaultGateway":"True","networkAttachmentName":"'$NETWORK_INTERFACE_NAME'"}]'\
--storage-profile create-option="Ephemeral" delete-option="Delete" disk-size="$VM_DISK_SIZE" \
--vm-image "$VM_IMAGE" \
--ssh-key-values "$SSH_PUBLIC_KEY" \
--vm-image-repository-credentials registry-url="$ACR_URL" username="$ACR_USERNAME" password="$ACR_PASSWORD"
Macchine virtuali con identità gestite
Creare la macchina virtuale con un'identità gestita assegnata dal sistema o assegnata dall'utente.
Per aggiungere un'identità gestita alla macchina virtuale, la versione dell'API deve essere 2025-07-01-preview o successiva.
Assicurarsi che l'estensionenetworkcloud sia installata con una versione che supporta la versione dell'API richiesta.
È possibile trovare versioni supportate nella cronologia delle versioni dell'estensionenetworkcloud in GitHub.
Importante
Se non si specifica un'identità gestita durante la creazione della macchina virtuale, non è possibile abilitare il supporto dell'identità gestita aggiornando la macchina virtuale dopo il provisioning.
Per abilitare l'identità gestita assegnata dal sistema per la macchina virtuale, assicurarsi di includere il --mi-system-assigned flag (o l'alias --system-assigned).
Creare la macchina virtuale utilizzando una Identità Gestita Assegnata dal Sistema con Azure CLI:
az networkcloud virtualmachine create \
--name "$VM_NAME" \
--resource-group "$RESOURCE_GROUP" \
--subscription "$SUBSCRIPTION" \
--extended-location name="$CUSTOM_LOCATION" type="CustomLocation" \
--location "$LOCATION" \
--admin-username "$ADMIN_USERNAME" \
--csn "attached-network-id=$CSN_ARM_ID" \
--cpu-cores $CPU_CORES \
--memory-size $MEMORY_SIZE \
--network-attachments '[{"attachedNetworkId":"'$L3_NETWORK_ID'","ipAllocationMethod":"Dynamic","defaultGateway":"True","networkAttachmentName":"'$NETWORK_INTERFACE_NAME'"}]'\
--storage-profile create-option="Ephemeral" delete-option="Delete" disk-size="$VM_DISK_SIZE" \
--vm-image "$VM_IMAGE" \
--ssh-key-values "$SSH_PUBLIC_KEY" \
--vm-image-repository-credentials registry-url="$ACR_URL" username="$ACR_USERNAME" password="$ACR_PASSWORD" \
--mi-system-assigned
Per usare un'identità gestita assegnata dall'utente, è possibile specificare l'ID identità gestita assegnata dall'utente con il --mi-user-assigned flag (o l'alias --user-assigned).
Assicurarsi di includere la variabile UAMI_ID con l'ID della risorsa dell'identità gestita, assegnata dall'utente, che si vuole usare.
export UAMI_ID=$(az identity show --name "$UAMI_NAME" --resource-group "$RESOURCE_GROUP" --query "id" -o tsv)
Creare la macchina virtuale usando un'Identità Gestita Assegnata dall'Utente con Azure CLI:
az networkcloud virtualmachine create \
--name "$VM_NAME" \
--resource-group "$RESOURCE_GROUP" \
--subscription "$SUBSCRIPTION" \
--extended-location name="$CUSTOM_LOCATION" type="CustomLocation" \
--location "$LOCATION" \
--admin-username "$ADMIN_USERNAME" \
--csn "attached-network-id=$CSN_ARM_ID" \
--cpu-cores $CPU_CORES \
--memory-size $MEMORY_SIZE \
--network-attachments '[{"attachedNetworkId":"'$L3_NETWORK_ID'","ipAllocationMethod":"Dynamic","defaultGateway":"True","networkAttachmentName":"'$NETWORK_INTERFACE_NAME'"}]'\
--storage-profile create-option="Ephemeral" delete-option="Delete" disk-size="$VM_DISK_SIZE" \
--vm-image "$VM_IMAGE" \
--ssh-key-values "$SSH_PUBLIC_KEY" \
--vm-image-repository-credentials registry-url="$ACR_URL" username="$ACR_USERNAME" password="$ACR_PASSWORD" \
--mi-user-assigned "$UAMI_ID"
Dopo alcuni minuti, il comando completa e restituisce informazioni sulla macchina virtuale. La macchina virtuale è ora pronta per l'uso.
Esaminare le risorse distribuite
Al termine della distribuzione, è possibile visualizzare le risorse usando l'interfaccia della riga di comando o il portale di Azure.
Per visualizzare i dettagli del myNexusVirtualMachine cluster nel myResourceGroup gruppo di risorse, eseguire quanto segue
az networkcloud virtualmachine show --name myNexusVirtualMachine --resource-group myResourceGroup
Pulire le risorse
Quando non è più necessario, eliminare il gruppo di risorse. Il gruppo di risorse e tutte le risorse nel gruppo di risorse vengono eliminati.
Usare il comando az group delete per rimuovere il gruppo di risorse, la macchina virtuale e tutte le risorse correlate, ad eccezione delle risorse di rete Operator Nexus.
az group delete --name myResourceGroup --yes --no-wait
Passaggi successivi
La macchina virtuale Nexus è stata creata correttamente. È ora possibile usare la macchina virtuale per ospitare le funzioni di rete virtuale .