Compartilhar via


Início Rápido: Concluir os pré-requisitos para implantar uma função de rede virtualizada no Gerenciador de Serviços de Operador do Azure

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

Pré-requisitos

Baixar e instalar a CLI do Azure

Você pode usar o ambiente bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.

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

Se você for executado por computador no Windows ou macOS, considere executar a CLI do Azure em um contêiner do Docker. Para saber mais, confira Como executar a CLI do Azure em um contêiner do Docker.

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

Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.

Entrar com a CLI do Azure

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

az login

Selecionar assinatura

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

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

Instalar a extensão da CLI do AOSM (Gerenciador de Serviço do Operador do Azure)

Para instalar a extensão da CLI do Gerenciador de Serviços do Operador do Azure, emita o comando a seguir.

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.

Registrar provedores de recursos necessários

Antes de usar o Gerenciador de Serviços de Operador do Azure, você deve primeiro registrar os provedores de recursos necessários executando esses comandos. O processo de registro pode levar até 5 minutos.

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

Verificar o status de registro

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.ContainerInstance --query "{RegistrationState: registrationState, ProviderName: namespace}"

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

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

Observação

Pode levar alguns minutos para que o registro do provedor de recursos seja concluído. Depois que o registro for bem-sucedido, você poderá começar a usar o NFM (Gerenciador de Funções de Rede) ou o Gerenciador de Serviços de Operador do Azure.

Requisitos de VNF (Função de Rede Virtual)

Baixar e extrair 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, poderá economizar tempo omitindo esta etapa. Tenha em mente que a imagem do Ubuntu é considerável, cerca de 650 MB, para que o processo de transferência possa 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 da VM (Máquina Virtual)

O modelo arm de exemplo a seguir para VM (Máquina Virtual) do Ubuntu é 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 seu computador local.

Próximas etapas