Partilhar via


Guia de início rápido: projetar um projeto de serviço de rede (NSD) para Ubuntu Virtual Machine (VM) como uma função de rede virtualizada (VNF)

Este guia de início rápido descreve como usar a extensão CLI do az aosm Azure para criar e publicar um Design de Serviço de Rede básico.

Pré-requisitos

É necessária uma conta do Azure com uma subscrição ativa. Se você não tiver uma assinatura do Azure, siga as instruções aqui Comece grátis para criar uma conta antes de começar.

Você deve seguir os pré-requisitos em Guia de início rápido: publicar Ubuntu Virtual Machine (VM) como Virtual Network Function (VNF).

Criar arquivo de entrada

Crie um arquivo de entrada para publicar o Design do Serviço de Rede. Execute o seguinte comando para gerar o arquivo de configuração de entrada para o Network Service Design (NSD).

az aosm nsd generate-config

Um nsd-input.jsonc arquivo é gerado quando você executa esse comando.

Nota

Edite o arquivo nsd-input.jsonc, substituindo-o pelos valores mostrados no exemplo. Remova a seção onde resource_element_type está definido como ArmTemplate. Isso serve para adicionar infraestrutura (como VNets) a NSDs mais complicadas, o que não é necessário neste início rápido. Salve o arquivo como input-vnf-nsd.jsonc.

Se você alterou o nome do editor ao publicar o NFDV, use o nome do editor para os publisher_name campos e publisher (este último está dentro da resource_element_templates matriz).

Se você tiver usado um nome de grupo de recursos diferente, atualize os publisher_resource_group_name campos e publisher_resource_group (o último está dentro da resource_element_templates matriz).

{
  // Azure location to use when creating resources e.g uksouth
  "location": "uksouth",
  // Name of the Publisher resource you want your definition published to.
  // Will be created if it does not exist.
  "publisher_name": "ubuntu-publisher",
  // Resource group for the Publisher resource.
  // You should create this before running the publish command.
  "publisher_resource_group_name": "ubuntu-publisher-rg",
  // Name of the ACR Artifact Store resource.
  // Will be created if it does not exist.
  "acr_artifact_store_name": "ubuntu-acr",
  // Network Service Design (NSD) name. This is the collection of Network Service Design Versions. Will be created if it does not exist.
  "nsd_name": "ubuntu-nsd",
  // Version of the NSD to be created. This should be in the format A.B.C
  "nsd_version": "1.0.0",
  // Optional. Description of the Network Service Design Version (NSDV).
  "nsdv_description": "Plain ubuntu VM",
  // List of Resource Element Templates (RETs).
  // There must be at least one NF RET.
  // ArmTemplate RETs are optional. Delete if not required.
  "resource_element_templates": [
      {
        // Type of Resource Element. Either NF or ArmTemplate
        "resource_element_type": "NF",
        "properties": {
            // The name of the existing publisher for the NSD.
            "publisher": "ubuntu-publisher",
            // The resource group that the publisher is hosted in.
            "publisher_resource_group": "ubuntu-publisher-rg",
            // The name of the existing Network Function Definition Group to deploy using this NSD.
            // This will be the same as the NF name if you published your NFDV using the CLI.
            "name": "ubuntu-vm",
            // The version of the existing Network Function Definition to base this NSD on.
            // This NSD will be able to deploy any NFDV with deployment parameters compatible with this version.
            "version": "1.0.0",
            // The region that the NFDV is published to.
            "publisher_offering_location": "uksouth",
            // Type of Network Function. Valid values are 'cnf' or 'vnf'.
            "type": "vnf"
        }
    }
  ]
}
Variável Description
publisher_name Nome do recurso do Publisher no qual você deseja publicar sua definição. Criado se não existir.
publisher_resource_group_name Grupo de recursos para o recurso Publicador. Criado se não existir.
acr_artifact_store_name Nome do recurso do Repositório de Artefatos do Azure Container Registry (ACR). Criado se não existir.
localização Local do Azure a ser usado ao criar recursos.
funções de rede publisher: O nome do editor sob o qual esta Versão de Definição de Função de Rede (NFDV) é publicada.
publisher_resource_group: O grupo de recursos no qual o editor está hospedado.
name: O nome do Grupo de Definição de Função de Rede existente a ser implantado usando esta NSD.
version: A versão da definição de função de rede existente na qual esta NSD se baseia. Esta NSD é capaz de implantar qualquer NFDV com parâmetros de implantação compatíveis com esta versão.
publisher_offering_location: A região para a qual o NFDV é publicado.
tipo: Tipo de função de rede. Os valores válidos são cnf ou vnf.
nsd_name Nome do Grupo de Design de Serviço de Rede. A coleção de Versões de Design de Serviço de Rede. Criado se não existir.
nsd_version Versão da NSD a criar. O formato deve ser A.B.C.
nsdv_description Descrição do NSDV.

Criar o projeto de serviço de rede (NSD)

Inicie o processo de compilação para o Network Service Design (NSD) usando o seguinte comando:

az aosm nsd build --config-file input-vnf-nsd.jsonc

Após a conclusão do processo de compilação, reveja os seguintes ficheiros gerados para obter informações sobre a arquitetura e estrutura da NSD.

Esses arquivos são criados em um subdiretório chamado nsd-cli-output:

Diretório / Arquivo Description
nsd-cli-output/artifactManifest
deploy.bicep Modelo de bíceps para criar manifesto de artefato, com artefatos preenchidos a partir do arquivo de entrada
nsd-cli-output/artefatos
artifacts.json Lista de artefatos (imagens e modelos ARM) a serem carregados na publicação. Correlaciona-se com o manifesto do artefato
<nf-nome.bicep> Modelo de bíceps por função de rede (NF) RET fornecido no arquivo de entrada, para implantação do NF. Esse modelo é convertido em um modelo ARM e carregado no repositório de artefatos quando você executa o comando publish
nsd-cli-saída/base
deploy.bicep Modelo Bicep para criar o editor, contas de armazenamento e grupo de design de serviço de rede compartilhado por todos os NSDVs desse grupo NSD
nsd-cli-output/nsdDefinição
deploy.bicep Modelo de bíceps para criar o NSDV (Network Service Design Version). Este modelo contém modelos de elemento de recurso filho, que são retirados dos modelos NFs ou ARM publicados (para infraestrutura) definidos no arquivo nsd-input.jsonc
config-group-schema.json Esquema de grupo de configuração combinado para todos os NFs neste NSDV. Esse esquema define as entradas que o operador precisa fornecer nos valores do grupo de configuração ao implantar o NSDV como parte de um serviço de rede de site (SNS).
<nf-nome>-mappings.json Arquivo que mapeia os valores do grupo de configuração fornecidos pelo operador para os parâmetros de implantação definidos no NSDV. Há um por NF no seu NSDV
NSD-CLI-saída
all_deploy.parameters.json Superconjunto de todos os parâmetros de implantação da NF, fornecendo um único arquivo para personalizar nomes de recursos. Os valores de saída para este arquivo pelo comando build são retirados do arquivo nsd-input.jsonc. Você pode editar os valores nesse arquivo antes de executar a publicação, por exemplo, para publicar em um local diferente ou usar um nome de editor diferente
index.json Arquivo usado internamente ao publicar recursos. Não editar

Publicar o projeto de serviço de rede (NSD)

Para publicar o Network Service Design (NSD) e seus artefatos associados, emita o seguinte comando:

az aosm nsd publish --build-output-folder nsd-cli-output

Navegue até o Grupo de Recursos do Publisher para observar e revisar os recursos e artefatos produzidos.

Estes recursos são criados:

Nome do Recurso Tipo de Recurso
ubuntu-nsd O design do serviço de rede.
1.0.0 (ubuntu-nsd/1.0.0) A versão de design do serviço de rede.
ubuntu-nsd-nsd-manifest-1-0-0 Manifesto de Artefato do Editor.
ConfigGroupSchema O esquema do grupo de configuração.

Próximos passos