Partager via


Démarrage rapide : Créer une machine virtuelle Azure Operator Nexus à l’aide d’Azure CLI

  • Déployer une machine virtuelle Azure Nexus à l’aide d’Azure CLI

Ce guide de démarrage rapide est conçu pour vous aider à commencer à utiliser des machines virtuelles Nexus pour héberger des fonctions de réseau virtuel (VNF). En suivant les étapes décrites dans ce guide, vous pouvez rapidement et facilement créer une machine virtuelle Nexus personnalisée répondant à vos besoins et exigences spécifiques. Que vous soyez débutant ou expert en réseau Nexus, ce guide est ici pour vous aider. Vous apprenez tout ce dont vous avez besoin pour créer et personnaliser des machines virtuelles Nexus pour héberger des fonctions de réseau virtuel.

Avant de commencer

Si vous n’avez pas de compte Azure, créez un compte gratuit avant de commencer.

  • Installez la dernière version des extensions Azure CLI nécessaires.

  • Si vous avez plusieurs abonnements Azure, sélectionnez l’ID d’abonnement approprié dans lequel les ressources doivent être facturées à l’aide de la az account commande.

  • Avant de poursuivre la création d’une machine virtuelle, assurez-vous que l’image conteneur à utiliser est créée conformément aux instructions.

  • Créez un groupe de ressources à l’aide de la commande az group create. Un groupe de ressources Azure est un groupe logique dans lequel des ressources Azure sont déployées et gérées. Lorsque vous créez un groupe de ressources, vous êtes invité à spécifier un emplacement. Cet emplacement est l'emplacement de stockage des métadonnées de votre groupe de ressources et l'endroit où vos ressources s'exécutent dans Azure si vous ne spécifiez pas une autre région lors de la création de la ressource. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement eastus.

    az group create --name myResourceGroup --location eastus
    

    L’exemple de sortie suivant ressemble à la création réussie du groupe de ressources :

    {
      "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
      "location": "eastus",
      "managedBy": null,
      "name": "myResourceGroup",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "tags": null
    }
    
  • Pour déployer un fichier Bicep ou un modèle ARM, vous devez disposer d’un accès en écriture aux ressources que vous déployez et un accès à toutes les opérations sur le type de ressource Microsoft.Resources/deployments. Par exemple, pour déployer un cluster, vous avez besoin des autorisations Microsoft.NetworkCloud/virtualMachines/write et Microsoft.Resources/deployments/*. Pour obtenir la liste des rôles et autorisations, consultez Rôles intégrés Azure.

  • Vous avez besoin de l’ID de ressource custom location de votre cluster Nexus d’opérateur Azure.

  • Vous devez créer différents réseaux en fonction de vos besoins en charge de travail spécifiques, et il est essentiel d’avoir les adresses IP appropriées disponibles pour vos charges de travail. Pour garantir une implémentation fluide, il est conseillé de consulter les équipes de support pertinentes pour obtenir de l’aide.

Créer une machine virtuelle Nexus

L’exemple suivant crée une machine virtuelle nommée myNexusVirtualMachine dans le groupe de ressources myResourceGroup à l’emplacement eastus .

Avant d’exécuter les commandes, vous devez définir plusieurs variables pour définir la configuration de votre machine virtuelle. Voici les variables que vous devez définir, ainsi que certaines valeurs par défaut que vous pouvez utiliser pour certaines variables :

Variable Descriptif
EMPLACEMENT Région Azure dans laquelle vous souhaitez créer votre machine virtuelle.
GROUPE_DE_RESSOURCES Nom du groupe de ressources Azure dans lequel vous souhaitez créer la machine virtuelle.
ABONNEMENT ID de votre abonnement Azure.
CUSTOM_LOCATION Cet argument spécifie un emplacement personnalisé de l’instance Nexus.
CSN_ARM_ID ID de ressource ARM du réseau de services cloud auquel la machine virtuelle se connecte.
L3_NETWORK_ID ID de ressource ARM du réseau L3 auquel la machine virtuelle se connecte.
NETWORK_INTERFACE_NAME Nom de l’interface réseau L3 à attribuer.
ADMIN_USERNAME Nom d’utilisateur de l’administrateur de la machine virtuelle.
SSH_PUBLIC_KEY Clé publique SSH utilisée pour la communication sécurisée avec la machine virtuelle.
CPU_CORES Nombre de cœurs d’UC pour la machine virtuelle (nombre pair, 46 processeurs virtuels maximum)
MEMORY_SIZE Quantité de mémoire (en Gio, 224 Gio maximum) pour la machine virtuelle.
VM_DISK_SIZE Taille (en Gio) du disque de la machine virtuelle.
VM_IMAGE URL de l’image de machine virtuelle.
ACR_URL URL d’Azure Container Registry (ACR).
ACR_USERNAME Nom d’utilisateur d’Azure Container Registry.
ACR_PASSWORD Mot de passe pour Azure Container Registry.
UAMI_ID ID de ressource de l'identité gérée assignée par l'utilisateur (si vous utilisez une identité gérée assignée par l'utilisateur).

Avertissement

Les données utilisateur ne sont pas chiffrées et tout processus sur la machine virtuelle peut interroger ces données. Vous ne devez pas stocker d’informations confidentielles dans les données utilisateur. Pour plus d’informations, consultez les meilleures pratiques de sécurité et de chiffrement des données Azure.

Une fois les variables définies, vous pouvez créer la machine virtuelle en exécutant la commande Azure CLI. Pour fournir une sortie plus détaillée à des fins de résolution des problèmes, ajoutez l’indicateur --debug à la fin.

Utilisez l’ensemble de commandes suivant et remplacez les exemples de valeurs par vos valeurs préférées. Vous pouvez également utiliser les valeurs par défaut pour certaines des variables, comme illustré dans l’exemple suivant :

# 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>"

Important

Il est essentiel de remplacer les espaces réservés pour les paramètres CUSTOM_LOCATION, CSN_ARM_ID, L3_NETWORK_ID et ACR par vos valeurs réelles avant d’exécuter ces commandes.

Après avoir défini ces variables, vous pouvez créer la machine virtuelle en exécutant la commande Azure CLI suivante.

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"

Machines virtuelles avec identités managées

Créez la machine virtuelle avec une identité gérée attribuée par le système ou par l'utilisateur. Pour ajouter une identité managée à la machine virtuelle, la version de l’API doit être 2025-07-01-preview ou ultérieure.

Vérifiez que l’extensionnetworkcloud est installée avec une version qui prend en charge la version d’API requise. Vous trouverez les versions prises en charge dans l’historique des versions de l’extensionnetworkcloud sur GitHub.

Important

Si vous ne spécifiez pas d’identité managée lors de la création de la machine virtuelle, vous ne pouvez pas activer la prise en charge des identités managées en mettant à jour la machine virtuelle après l’approvisionnement.

Pour activer l’identité managée affectée par le système pour la machine virtuelle, veillez à inclure l’indicateur --mi-system-assigned (ou l’alias --system-assigned).

Créez la machine virtuelle à l’aide d’une System-Assigned Managed Identity (SAMI) avec 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

Pour utiliser une identité managée affectée par l’utilisateur, vous pouvez spécifier l’ID d’identité managée affectée par l’utilisateur avec l’indicateur --mi-user-assigned (ou l’alias --user-assigned).

Veillez à inclure la variable UAMI_ID avec l'ID de ressource de l'identité managée attribuée par l'utilisateur que vous souhaitez utiliser.

export UAMI_ID=$(az identity show --name "$UAMI_NAME" --resource-group "$RESOURCE_GROUP" --query "id" -o tsv)

Créez la machine virtuelle à l'aide d'une Identité Managée Assignée par l'Utilisateur (UAMI) avec l'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"

Après quelques minutes, la commande se termine et retourne des informations sur la machine virtuelle. La machine virtuelle est maintenant prête à être utilisée.

Passer en revue les ressources déployées

Une fois le déploiement terminé, vous pouvez afficher les ressources à l’aide de l’interface CLI ou du portail Azure.

Pour afficher les détails du cluster dans le myNexusVirtualMachine groupe de myResourceGroup ressources, exécutez ce qui suit :

az networkcloud virtualmachine show --name myNexusVirtualMachine --resource-group myResourceGroup

Nettoyer les ressources

Quand vous n’en avez plus besoin, supprimez le groupe de ressources. Le groupe de ressources et toutes les ressources du groupe de ressources sont supprimées.

Utilisez la commande az group delete pour supprimer le groupe de ressources, la machine virtuelle et toutes les ressources associées, à l’exception des ressources réseau Nexus de l’opérateur.

az group delete --name myResourceGroup --yes --no-wait

Étapes suivantes

La machine virtuelle Nexus est créée avec succès ! Vous pouvez maintenant utiliser la machine virtuelle pour héberger des fonctions de réseau virtuel (VNF).