Compartir a través de


Inicio rápido: Creación de una máquina virtual Nexus del operador de Azure mediante la CLI de Azure

  • Implementación de una máquina virtual de Azure Nexus mediante la CLI de Azure

Esta guía de inicio rápido está diseñada para ayudarle a empezar a usar máquinas virtuales Nexus para hospedar funciones de red virtual (VNFs). Siguiendo los pasos descritos en esta guía, podrá crear rápidamente y fácilmente una máquina virtual Nexus personalizada que satisfaga sus necesidades y requisitos específicos. Tanto si es principiante como experto en redes Nexus, esta guía está aquí para ayudarle. Aprenderá todo lo que necesita saber para crear y personalizar máquinas virtuales Nexus para hospedar funciones de red virtual.

Antes de empezar

Si no tiene una cuenta de Azure, cree una cuenta gratuita antes de comenzar.

  • Instale la versión más reciente de las extensiones de la CLI de Azure necesarias.

  • Si tiene varias suscripciones de Azure, seleccione el identificador de suscripción adecuado en el que se deben facturar los recursos mediante el az account comando .

  • Antes de continuar con la creación de la máquina virtual, asegúrese de que la imagen de contenedor que se va a usar se crea según las instrucciones.

  • Cree un grupo de recursos con el comando az group create. Un grupo de recursos de Azure es un grupo lógico en el que se implementan y administran recursos de Azure. Cuando crea un grupo de recursos, se le pide que especifique una ubicación. Esta ubicación es la ubicación de almacenamiento de los metadatos del grupo de recursos y donde se ejecutan los recursos en Azure si no se especifica otra región durante la creación de recursos. En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus.

    az group create --name myResourceGroup --location eastus
    

    El siguiente ejemplo de salida se asemeja a la creación exitosa del grupo de recursos.

    {
      "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
      "location": "eastus",
      "managedBy": null,
      "name": "myResourceGroup",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "tags": null
    }
    
  • Para implementar un archivo de Bicep o una plantilla de ARM, necesitas acceso de escritura en los recursos que estás implementando y acceso para realizar todas las operaciones en el tipo de recurso Microsoft.Resources/deployments. Por ejemplo, para implementar un clúster, necesita permisos Microsoft.NetworkCloud/virtualMachines/write y Microsoft.Resources/deployments/*. Para obtener una lista de roles y permisos, consulte Roles integrados de Azure.

  • Necesitas el ID de recurso del clúster de Azure Operator Nexus.

  • Debe crear varias redes según los requisitos específicos de la carga de trabajo y es esencial tener las direcciones IP adecuadas disponibles para las cargas de trabajo. Para garantizar una implementación fluida, es aconsejable consultar a los equipos de soporte técnico pertinentes para obtener ayuda.

Creación de una máquina virtual Nexus

En el ejemplo siguiente se crea una máquina virtual denominada myNexusVirtualMachine en el grupo de recursos myResourceGroup en la ubicación eastus .

Antes de ejecutar los comandos, debe establecer varias variables para definir la configuración de la máquina virtual. Estas son las variables que debe establecer, junto con algunos valores predeterminados que puede usar para determinadas variables:

Variable Description
UBICACIÓN Región de Azure en la que desea crear la máquina virtual.
GRUPO_DE_RECURSOS Nombre del grupo de recursos de Azure donde desea crear la máquina virtual.
SUSCRIPCIÓN Identificador de la suscripción de Azure.
UBICACIÓN_PERSONALIZADA Este argumento especifica una ubicación personalizada de la instancia de Nexus.
CSN_ARM_ID Identificador de recurso de ARM de la red de servicios en la nube a la que se conecta la máquina virtual.
L3_NETWORK_ID Identificador de recurso de ARM de la red L3 a la que se conecta la máquina virtual.
NETWORK_INTERFACE_NAME Nombre de la interfaz de red L3 que se va a asignar.
ADMIN_USERNAME Nombre de usuario del administrador de la máquina virtual.
Llave pública SSH (SSH_PUBLIC_KEY) Clave pública SSH que se usa para la comunicación segura con la máquina virtual.
NÚCLEOS_CPU Número de núcleos de CPU para la máquina virtual (número par, máximo de 46 vCPU)
TAMAÑO_DE_MEMORIA Cantidad de memoria (en GiB, máximo 224 GiB) para la máquina virtual.
VM_DISK_SIZE Tamaño (en GiB) del disco de la máquina virtual.
Imagen de VM Dirección URL de la imagen de máquina virtual.
ACR_URL Dirección URL de Azure Container Registry (ACR).
ACR_USERNAME Nombre de usuario de Azure Container Registry.
ACR_PASSWORD Contraseña de Azure Container Registry.
UAMI_ID Identificador de recurso de la identidad administrada asignada por el usuario (si usa la identidad administrada asignada por el usuario).

Advertencia

Los datos de usuario no están cifrados y cualquier proceso de la máquina virtual puede consultar estos datos. No debe almacenar información confidencial en los datos de usuario. Para más información, consulte Procedimientos recomendados de cifrado y seguridad de datos de Azure.

Una vez definidas las variables, puede crear la máquina virtual mediante la ejecución del comando de la CLI de Azure. Para proporcionar una salida más detallada con fines de solución de problemas, agregue la --debug marca al final.

Use el siguiente conjunto de comandos y reemplace los valores de ejemplo por sus valores preferidos. También puede usar los valores predeterminados para algunas de las variables, como se muestra en el ejemplo siguiente:

# 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

Es esencial reemplazar los marcadores de posición de los parámetros CUSTOM_LOCATION, CSN_ARM_ID, L3_NETWORK_ID y ACR por los valores reales antes de ejecutar estos comandos.

Después de definir estas variables, puede crear la máquina virtual ejecutando el siguiente comando de la CLI de 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"

Máquinas virtuales con identidades administradas

Cree la máquina virtual con una identidad administrada asignada por el sistema o asignada por el usuario. Para agregar una identidad administrada a la máquina virtual, la versión de la API debe ser 2025-07-01-preview o posterior.

Asegúrese de que la networkcloud extensión está instalada con una versión que admita la versión de API necesaria. Puede encontrar versiones compatibles en el historial de versiones de extensiónnetworkcloud en GitHub.

Importante

Si no especifica una identidad administrada al crear la máquina virtual, no puede habilitar la compatibilidad con identidades administradas mediante la actualización de la máquina virtual después del aprovisionamiento.

Para habilitar la identidad administrada asignada por el sistema para la máquina virtual, asegúrese de incluir la --mi-system-assigned marca (o el alias --system-assigned).

Cree la máquina virtual usando una Identidad Administrada Asignada por el Sistema (SAMI) con la CLI de 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" \
    --mi-system-assigned

Para usar una identidad administrada asignada por el usuario, puede especificar el identificador de identidad administrada asignada por el usuario con la --mi-user-assigned marca (o el alias --user-assigned).

Asegúrese de incluir la UAMI_ID variable con el identificador de recurso de la identidad administrada asignada por el usuario que desea usar.

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

Cree la máquina virtual mediante una Identidad Administrada por el Usuario (UAMI) 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"

Después de unos minutos, el comando se completa y devuelve información sobre la máquina virtual. La máquina virtual ya está lista para su uso.

Revisión de los recursos implementados

Una vez finalizada la implementación, puede ver los recursos mediante la CLI o Azure Portal.

Para ver los detalles del myNexusVirtualMachine clúster en el myResourceGroup grupo de recursos, ejecute lo siguiente:

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

Limpieza de recursos

Cuando ya no sea necesario, elimine el grupo de recursos. Se eliminan el grupo de recursos y todos los recursos del grupo de recursos.

Use el comando az group delete para quitar el grupo de recursos, la máquina virtual y todos los recursos relacionados, excepto los recursos de red operator Nexus.

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

Pasos siguientes

¡La máquina virtual Nexus se ha creado con éxito! Ahora puede usar la máquina virtual para hospedar funciones de red virtual (VNFs).