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
- Ha habilitado AOSM en la suscripción de Azure.
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.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.ContainerInstance --query "{RegistrationState: registrationState, ProviderName: namespace}"
Tras la operación correcta, se muestra la siguiente salida:
{
"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.