Partilhar via


Guia de início rápido: conclua os pré-requisitos para implantar uma função de rede virtualizada no Azure Operator Service Manager

Antes de começar a usar o Azure Operator Service Manager, verifique se você registrou os provedores de recursos necessários e instalou as ferramentas necessárias para interagir com o serviço.

Pré-requisitos

  • Você habilitou o AOSM em sua assinatura do Azure.

Baixar e instalar a CLI do Azure

Você pode usar o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure usando Como instalar a CLI do Azure.

Se a máquina for executada no Windows ou macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

Para instalação local, entre na CLI do Azure usando o az login comando.

Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

Iniciar sessão com a CLI do Azure

Para entrar com a CLI do Azure, emita o seguinte comando.

az login

Selecionar subscrição

Para alterar a assinatura ativa usando a ID da assinatura, execute o seguinte comando.

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

Instalar a extensão da CLI do Azure Operator Service Manager (AOSM)

Para instalar a extensão CLI do Azure Operator Service Manager, emita o seguinte comando.

az extension add --name aosm

Execute az version para determinar a versão e as bibliotecas dependentes instaladas. Atualize para a versão mais recente emitindo o comando az upgrade.

Registar os fornecedores de recursos necessários

Antes de usar o Azure Operator Service Manager, você deve primeiro registrar os provedores de recursos necessários executando esses comandos. O processo de registo pode demorar até 5 minutos.

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

Verificar o estado do registo

Para verificar o status de registro dos provedores de recursos, você pode executar os seguintes 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}"

Após o sucesso, a seguinte saída é exibida:

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

Nota

Pode levar alguns minutos para que o registro do provedor de recursos seja concluído. Quando o registro for bem-sucedido, você poderá começar a usar o NFM (Network Function Manager) ou o Azure Operator Service Manager.

Requisitos da função de rede virtual (VNF)

Baixe e extraia a imagem do Ubuntu

Se você já possui a imagem do Ubuntu acessível por meio de uma URL SAS no armazenamento de blobs do Azure, pode economizar tempo omitindo esta etapa. Tenha em mente que a imagem do Ubuntu é considerável, cerca de 650 MB, então o processo de transferência pode demorar um pouco.

# 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

Modelo ARM de máquina virtual (VM)

O modelo ARM de exemplo a seguir para Ubuntu Virtual Machine (VM) é usado neste início rápido.

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

Salve o arquivo json anterior como ubuntu-template.json em sua máquina local.

Próximos passos