Share via


Inicio rápido: Completar los requisitos previos para implementar una función de red virtualizada en Azure Operator Service Manager

Antes de empezar a usar Azure Operator Service Manager, asegúrese de que ha registrado los proveedores de recursos necesarios e instalado las herramientas necesarias para interactuar con el servicio.

Requisitos previos

Descarga e instalación de la CLI de Azure

Puede usar el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.

Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure mediante Cómo instalar la CLI de Azure.

Si la máquina se ejecuta en Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor de Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.

Para la instalación local, inicie sesión en la CLI de Azure mediante el comando az login.

Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.

Inicio de sesión con la CLI de Azure

Para iniciar sesión con la CLI de Azure, emita el siguiente comando.

az login

Seleccionar suscripción

Para cambiar la suscripción activa mediante el id. de suscripción, emita el siguiente comando.

az account set --subscription "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Instalación de la extensión de la CLI de Azure Operator Service Manager (AOSM)

Para instalar la extensión de la CLI de Azure Operator Service Manager, emita el siguiente comando.

az extension add --name aosm

Ejecute az version para determinar la versión y las bibliotecas dependientes instaladas. Actualice a la versión más reciente emitiendo el comando az upgrade.

Registro de los proveedores de recursos necesarios

Antes de usar Azure Operator Service Manager, primero debe registrar los proveedores de recursos necesarios ejecutando estos comandos. El proceso de registro puede tardar hasta 5 minutos.

# Register Resource Provider
az provider register --namespace Microsoft.ContainerRegistry
az provider register --namespace Microsoft.ContainerInstance

Comprobación del estado de registro

Para comprobar el estado de registro de los proveedores de recursos, puede ejecutar los siguientes comandos:

# Query the Resource Provider
az provider show -n Microsoft.ContainerRegistry --query "{RegistrationState: registrationState, ProviderName: namespace}"
az provider show -n Microsoft.ContainerInstance --query "{RegistrationState: registrationState, ProviderName: namespace}"

Tras la operación correcta, se muestra la siguiente salida:

{
  "ProviderName": "Microsoft.ContainerRegistry",
  "RegistrationState": "Registered"
}
{
  "ProviderName": "Microsoft.ContainerInstance",
  "RegistrationState": "Registered"
}

Nota:

El registro del proveedor de recursos puede tardar unos minutos en completarse. Una vez que el registro se realiza correctamente, puede empezar a usar Network Function Manager (NFM) o Azure Operator Service Manager.

Requisitos de la función de red virtualizada (VNF)

Descarga y extracción de una imagen de Ubuntu

Si ya posee la imagen de Ubuntu accesible a través de una dirección URL de SAS en Azure Blob Storage, omita este paso para ahorrar tiempo. Tenga en cuenta que la imagen de Ubuntu es considerable, alrededor de 650 MB, por lo que el proceso de transferencia puede tardar un tiempo.

# Download the Ubuntu image
wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64-azure.vhd.tar.gz

# Extract the downloaded image
tar -xzvf jammy-server-cloudimg-amd64-azure.vhd.tar.gz

Plantilla de ARM de máquina virtual (VM)

En este inicio rápido se usa la siguiente plantilla de ARM de ejemplo para la máquina virtual (VM) Ubuntu.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.21.1.54444",
      "templateHash": "2626436546580286549"
    }
  },
  "parameters": {
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    },
    "subnetName": {
      "type": "string"
    },
    "ubuntuVmName": {
      "type": "string",
      "defaultValue": "ubuntu-vm"
    },
    "virtualNetworkId": {
      "type": "string"
    },
    "sshPublicKeyAdmin": {
      "type": "string"
    },
    "imageName": {
      "type": "string"
    }
  },
  "variables": {
    "imageResourceGroup": "[resourceGroup().name]",
    "subscriptionId": "[subscription().subscriptionId]",
    "vmSizeSku": "Standard_D2s_v3"
  },
  "resources": [
    {
      "type": "Microsoft.Network/networkInterfaces",
      "apiVersion": "2021-05-01",
      "name": "[format('{0}_nic', parameters('ubuntuVmName'))]",
      "location": "[parameters('location')]",
      "properties": {
        "ipConfigurations": [
          {
            "name": "ipconfig1",
            "properties": {
              "subnet": {
                "id": "[format('{0}/subnets/{1}', parameters('virtualNetworkId'), parameters('subnetName'))]"
              },
              "primary": true,
              "privateIPAddressVersion": "IPv4"
            }
          }
        ]
      }
    },
    {
      "type": "Microsoft.Compute/virtualMachines",
      "apiVersion": "2021-07-01",
      "name": "[parameters('ubuntuVmName')]",
      "location": "[parameters('location')]",
      "properties": {
        "hardwareProfile": {
          "vmSize": "[variables('vmSizeSku')]"
        },
        "storageProfile": {
          "imageReference": {
            "id": "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('subscriptionId'), variables('imageResourceGroup')), 'Microsoft.Compute/images', parameters('imageName'))]"
          },
          "osDisk": {
            "osType": "Linux",
            "name": "[format('{0}_disk', parameters('ubuntuVmName'))]",
            "createOption": "FromImage",
            "caching": "ReadWrite",
            "writeAcceleratorEnabled": false,
            "managedDisk": "[json('{\"storageAccountType\": \"Premium_LRS\"}')]",
            "deleteOption": "Delete",
            "diskSizeGB": 30
          }
        },
        "osProfile": {
          "computerName": "[parameters('ubuntuVmName')]",
          "adminUsername": "azureuser",
          "linuxConfiguration": {
            "disablePasswordAuthentication": true,
            "ssh": {
              "publicKeys": [
                {
                  "path": "/home/azureuser/.ssh/authorized_keys",
                  "keyData": "[parameters('sshPublicKeyAdmin')]"
                }
              ]
            },
            "provisionVMAgent": true,
            "patchSettings": {
              "patchMode": "ImageDefault",
              "assessmentMode": "ImageDefault"
            }
          },
          "secrets": [],
          "allowExtensionOperations": true
        },
        "networkProfile": {
          "networkInterfaces": [
            {
              "id": "[resourceId('Microsoft.Network/networkInterfaces', format('{0}_nic', parameters('ubuntuVmName')))]"
            }
          ]
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/networkInterfaces', format('{0}_nic', parameters('ubuntuVmName')))]"
      ]
    }
  ]
}

Guarde el archivo JSON anterior como ubuntu-template.json en el equipo local.

Pasos siguientes