Snabbstart: Slutför kraven för att distribuera en virtualiserad nätverksfunktion i Azure Operator Service Manager

Innan du börjar använda Azure Operator Service Manager kontrollerar du att du har registrerat nödvändiga resursprovidrar och installerat de verktyg som krävs för att interagera med tjänsten.

Förutsättningar

Kontakta ditt Microsoft-kontoteam för att registrera din Azure-prenumeration för åtkomst till Azure Operator Service Manager (AOSM) eller uttrycka ditt intresse via partnerregistreringsformuläret.

Ladda ned och installera Azure CLI

Du kan använda Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.

Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI med hjälp av Installera Azure CLI.

Om du kör datorn i Windows eller macOS kan du överväga att köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.

För lokal installation loggar du in på Azure CLI med kommandot az login .

Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.

Logga in med Azure CLI

Om du vill logga in med Azure CLI utfärdar du följande kommando.

az login

Välj en prenumeration

Om du vill ändra den aktiva prenumerationen med hjälp av prenumerations-ID:t utfärdar du följande kommando.

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

Installera CLI-tillägget för Azure Operator Service Manager (AOSM)

Om du vill installera AZURE Operator Service Manager CLI-tillägget utfärdar du följande kommando.

az extension add --name aosm

Kör az version för att fastställa vilken version och beroende bibliotek som är installerade. Uppgradera till den senaste versionen genom att utfärda kommandot az upgrade.

Registrera nödvändiga resursprovidrar

Innan du använder Azure Operator Service Manager måste du först registrera de nödvändiga resursprovidrar genom att köra dessa kommandon. Registreringsprocessen kan ta upp till 5 minuter.

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

Verifiera registreringsstatus

Om du vill verifiera resursprovidrars registreringsstatus kan du köra följande kommandon:

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

När det har lyckats visas följande utdata:

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

Kommentar

Det kan ta några minuter innan registreringen av resursprovidern har slutförts. När registreringen har slutförts kan du börja använda NFM (Network Function Manager) eller Azure Operator Service Manager.

Krav för virtuell nätverksfunktion (VNF)

Ladda ned och extrahera Ubuntu-avbildning

Om du redan har Ubuntu-avbildningen tillgänglig via en SAS-URL i Azure Blob Storage kan du spara tid genom att utelämna det här steget. Tänk på att Ubuntu-avbildningen är betydande, cirka 650 MB, så överföringsprocessen kan ta en stund.

# 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

ARM-mall för virtuell dator (VM)

Följande ARM-exempelmall för Ubuntu Virtual Machine (VM) används i den här snabbstarten.

{
  "$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')))]"
      ]
    }
  ]
}

Spara föregående json-fil som ubuntu-template.json på den lokala datorn.

Nästa steg