Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste guia de instruções, os Editores de Função de Rede e os Designers de Serviço aprendem a usar a extensão AOSM da CLI do Azure para integrar uma função de rede virtualizada ao AOSM. Essa VNF pode ser implantada posteriormente no Azure Operator Nexus. A integração é um processo de várias etapas. Depois de atender aos pré-requisitos, você usará a extensão AOSM da CLI do Azure para:
- Gere ficheiros Bicep que definam um Grupo de Definição de Função de Rede e a respetiva Versão (NFD).
- Publique o NFD e carregue a imagem VNF em um Repositório de Artefatos (Azure Container Registry (ACR) gerenciado pelo AOSM).
- Adicione seu NFD publicado aos arquivos Bicep que definem um Network Service Design Group and Version (NSD).
- Publique a NSD.
Pré-requisitos
- Você tem acesso a uma instância do Azure Operator Nexus e concluiu os pré-requisitos para a implantação da carga de trabalho.
- Você habilitou o AOSM em sua assinatura do Azure.
Observação
É altamente recomendável que você tenha testado se a implantação da VM é bem-sucedida em sua instância do Azure Operator Nexus antes de integrar o VNF ao AOSM.
Imagens de máquina virtual (VM) do Azure Operator Nexus e modelos do Azure Resource Manager (ARM)
Você criou uma imagem para a Máquina Virtual Nexus do Operador do Azure. Esta imagem deve estar disponível num ACR.
Você criou um modelo ARM que implanta uma Máquina Virtual Azure Operator Nexus.
O modelo VM ARM (para AzureCore e Azure Operator Nexus) só pode implantar recursos ARM dos seguintes Provedores de Recursos
- Microsoft.Compute
- Microsoft.Rede
- Microsoft.NetworkCloud
- Microsoft.Armazenamento
- Microsoft.NetworkFabric
- Microsoft.Autorização
- Microsoft.ManagedIdentity
O modelo VNF ARM deve implantar uma VM. Várias VMs podem ser implantadas incluindo várias instâncias do NFDV no NSDV.
Configurar permissões
- Você precisa da função de Colaborador em sua assinatura para criar um Grupo de Recursos ou um Grupo de Recursos existente onde você tenha a função de Colaborador.
- Você precisa das
Reader/AcrPullatribuições de função no ACR de origem que contém suas imagens. - Você precisa das atribuições de função
ContributoreAcrPushna assinatura que irá conter o Repositório de Artefatos gerido pelo AOSM. Essas permissões permitem que a Extensão AOSM da CLI do Azure faça uma cópia direta de ACR para ACR. A cópia direta é o método mais rápido de transferir imagens de um ACR para outro.- A política da sua empresa pode impedir que você tenha permissões com escopo de assinatura. O
--no-subscription-permissionsparâmetro, disponível nos comandosaz aosm nfd publisheaz aosm nsd publish, usa permissões com escopo restrito derivadas do serviço AOSM para orquestrar uma cópia de duas etapas de e para a sua máquina local. Essa cópia em duas etapas é mais lenta, mas não requer permissões com escopo de assinatura.
- A política da sua empresa pode impedir que você tenha permissões com escopo de assinatura. O
Baixar e instalar a CLI do Azure
Para instalar a CLI do Azure localmente, consulte Como instalar a CLI do Azure.
Para entrar na CLI do Azure, use o az login comando e conclua os prompts exibidos no terminal para concluir a autenticação. Para obter mais opções de entrada, consulte Entrar com a CLI do Azure.
Observação
Se estiver a usar Windows ou macOS, considere executar o Azure CLI num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker. Você também pode usar o ambiente Bash no shell de nuvem do Azure. Para obter mais informações, consulte Iniciar o Cloud Shell para usar o ambiente Bash no Azure Cloud Shell.
Helm e motor Docker
- Instale a CLI do Helm no computador host. Você deve usar o Helm v3.8.0 ou posterior.
- Instale o Docker no computador host.
Instalar a extensão AOSM CLI
A Extensão AOSM da Az CLI requer a versão 2.54.0 ou posterior da CLI do Azure.
- Execute
az versionpara ver a versão e as bibliotecas dependentes que estão instaladas. - Execute
az upgradepara atualizar para a versão atual da CLI do Azure.
Instale a extensão AOSM CLI usando este comando:
az extension add --name aosm
Criar o Grupo e a Versão de Definição de Função de Rede
Esta seção cria uma pasta no diretório de trabalho chamado vnf-cli-output com os arquivos Bicep dos recursos AOSM que definem seu Grupo e Versão de Definição de Função de Rede e o Repositório de Artefatos. Em última análise, esses recursos serão incluídos no seu Design de Serviço de Rede
Gere o arquivo de entrada de extensão AOSM da CLI do Azure para uma VNF.
az aosm nfd generate-config --definition-type vnf-nexus --output-file <filename.jsonc>Abra o arquivo de entrada gerado na etapa anterior e use os comentários embutidos para inserir os valores necessários. Este exemplo mostra o ficheiro de entrada da extensão Az CLI AOSM para um VNF fictício da Contoso, que corre na Azure Operator Nexus.
Observação
A extensão AOSM da CLI do Azure expõe apenas os parâmetros necessários sem valores padrão no modelo ARM de entrada por padrão. Você pode definir
expose_all_parametersparatrueexpor todos os parâmetros de modelo ARM na Versão de Definição de Função de Rede (NFDV) e no Esquema de Grupo de Configuração (CGS). Consulte Exposição de parâmetros usando a extensão AOSM CLI para obter informações mais detalhadas.{ // Azure location to use when creating resources e.g uksouth "location": "eastus", // Name of the Publisher resource you want your definition published to. // Will be created if it does not exist. "publisher_name": "contoso", // Resource group for the Publisher resource. // Will be created if it does not exist. "publisher_resource_group_name": "contoso-vnf", // Name of the ACR Artifact Store resource. // Will be created if it does not exist. "acr_artifact_store_name": "contoso-vnf-artifact-store", // Name of the network function. "nf_name": "contoso-vnf", // Version of the network function definition in 1.1.1 format (three integers separated by dots). "version": "1.0.0", // If set to true, all NFD configuration parameters are made available to the designer, including optional parameters and those with defaults. // If not set or set to false, only required parameters without defaults will be exposed. "expose_all_parameters": false, // ARM template configuration. The ARM templates given here would deploy a VM if run. They will be used to generate the VNF. "arm_templates": [ { // Name of the artifact. Used as internal reference only. "artifact_name": "contoso-vnf", // Version of the artifact in 1.1.1 format (three integers separated by dots). "version": "1.0.0", // File path (absolute or relative to this configuration file) of the artifact you wish to upload from your local disk. // Use Linux slash (/) file separator even if running on Windows. "file_path": "/home/contoso-vnf/contoso-vnf-arm-template.json" } ], // List of images to be pulled from the acr registry. // You must provide the source acr registry, the image name and the version. // For example: 'sourceacr.azurecr.io/imagename:imageversion'. "images": ["contoso-vnf.azurecr.io/contosovnf:1.0.0"] }```Execute o seguinte comando para criar o Grupo e a Versão de Definição de Função de Rede.
az aosm nfd build --definition-type vnf-nexus --config-file <filename.jsonc>
Publicar o Grupo de Definições de Função de Rede e a Versão
Esta etapa cria os recursos do AOSM que definem a Definição de Função de Rede e o Repositório de Artefatos que serão usados para armazenar as imagens de VM da Função de Rede. Ele também carrega as imagens para o Repositório de Artefatos copiando-as diretamente do ACR de origem ou, se você não tiver escopo Contributor e AcrPush funções de assinatura, remarcando as imagens do docker localmente e carregando para o Repositório de Artefatos usando credenciais com escopo restrito geradas a partir do serviço AOSM.
- Execute o seguinte comando para publicar o Grupo e a Versão de Definição de Função de Rede. Se não tiver o escopo de subscrição
Contributore as funçõesAcrPush, inclua--no-subscription-permissionsno comando.
az aosm nfd publish --build-output-folder vnf-cli-output --definition-type vnf
Você pode revisar a estrutura de pastas e arquivos e fazer modificações, se necessário.
Criar o grupo e a versão do Network Service Design
Esta seção cria uma pasta no diretório de trabalho chamada nsd-cli-output. Esta pasta contém os arquivos Bicep dos recursos do AOSM que definem um Grupo e Versão de Design de Serviço de Rede. Este Projeto de Serviço de Rede é um modelo utilizado no recurso Serviço de Rede do Local, que implantará a Função de Rede que você incorporou nas seções anteriores.
Gere o arquivo de entrada NSD da extensão AOSM da CLI do Azure.
az aosm nsd generate-config --output-file <nsd-output-filename.jsonc>Abra o arquivo de entrada gerado na etapa anterior e use os comentários embutidos para inserir os valores necessários. O arquivo de entrada gerado contém um elemento adicional
resource_element_typedo tipoArmTemplate. Isso é desnecessário ao integrar um VNF; você pode excluí-lo. Este exemplo mostra o ficheiro de entrada da extensão AOSM do Az CLI para um NSD fictício da Contoso que pode ser utilizado para implementar um VNF fictício da Contoso numa instância do Azure Operator Nexus.{ // Azure location to use when creating resources e.g uksouth "location": "eastus", // Name of the Publisher resource you want your definition published to. // Will be created if it does not exist. "publisher_name": "contoso", // Resource group for the Publisher resource. // Will be created if it does not exist. "publisher_resource_group_name": "contoso-vnf", // Name of the ACR Artifact Store resource. // Will be created if it does not exist. "acr_artifact_store_name": "contoso-vnf-artifact-store", // Network Service Design (NSD) name. This is the collection of Network Service Design Versions. Will be created if it does not exist. "nsd_name": "contoso-vnf-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": "An NSD that deploys the onboarded contoso-vnf NFD", // 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": "contoso", // The resource group that the publisher is hosted in. "publisher_resource_group": "contoso-vnf", // 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": "contoso-vnf", // 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": "eastus", // Type of Network Function. Valid values are 'cnf' or 'vnf'. "type": "vnf" } } ] }Observação
A seção de modelo de elemento de recurso define qual NFD está incluído na NSD. As propriedades devem corresponder às usadas no arquivo de entrada passado para o
az aosm nfd buildcomando. Isso ocorre porque a Extensão AOSM da CLI do Azure valida que o NFD foi integrado corretamente ao criar o NSD.Execute o seguinte comando para criar os arquivos Network Service Design Group e Version Bicep.
az aosm nsd build --config-file <nsd-output-filename.jsonc>
Você pode revisar a estrutura de pastas e arquivos e fazer modificações, se necessário.
Publicar o projeto de serviço de rede (NSD)
Esta etapa cria os recursos do AOSM que definem o Grupo e a Versão do Design do Serviço de Rede. Ele também carrega artefatos exigidos pela NSD para o Repositório de Artefatos (modelo ARM de Função de Rede).
- Execute o seguinte comando para publicar o Network Service Design Group and Version. Se não tiver o escopo de subscrição
Contributore as funçõesAcrPush, inclua--no-subscription-permissionsno comando.
az aosm nsd publish --build-output-folder nsd-cli-output
Agora você tem um conjunto completo de recursos do publicador AOSM e está pronto para realizar o fluxo de trabalho do operador.