Adicionar recursos do Azure Resource Manager (ARM) a uma Versão de Design do Serviço de Rede (NSDV) do Gerenciador de Serviço do Operador do Azure (AOSM)
O Gerenciador de Serviços de Operador do Azure (AOSM) permite que você combine Versões de Definição do Serviço de Rede (NFDV) e modelos do Azure Resource Manager (ARM) em uma Versão de Design do Serviço de Rede (NSDV). A NSDV passa a ser o único modelo para um Serviço de Rede que contenha tanto uma Função de Rede quanto a infraestrutura do Azure de que ele precisa para ser executado. Em seguida, um operador pode implantar a Função de Rede (NF) e sua infraestrutura em uma única operação.
Neste guia de instruções, você aprenderá a usar a extensão de AOSM da CLI do Azure para criar e publicar uma NSDV contendo tanto uma Função de Rede Conteinerizada (CNF) quanto um recurso do Azure Resource Manager (ARM).
A integração é um processo de várias etapas. Após cumprir os pré-requisitos, você usará a extensão de AOSM da CLI do Azure para:
- Modificar um arquivo de entrada de NSDV existente para uma CNF integrada anteriormente.
- Preencher o arquivo de entrada com as informações necessárias para criar as definições de recurso do AOSM.
- Gerar arquivos BICEP que definem uma Versão e Grupo de Design do Serviço de Rede (NSDV) com base no arquivo de entrada e no seu modelo do ARM.
- Publicar a NSDV e carregar o Modelo do ARM em um Repositório de Artefatos de um (Registro de Contêiner do Azure [ACR] gerenciado pelo AOSM).
Este guia de instruções usa o Azure Key Vault (AKV) como um exemplo de um Recurso do Azure; no entanto, qualquer recurso do Azure pode ser integrado seguindo as mesmas etapas. Este artigo usa uma CNF como o exemplo de NF; o processo é idêntico para uma Função de Rede Virtualizada (VNF), a não ser por pequenas diferenças no arquivo de entrada da NSDV.
Pré-requisitos
- Você habilitou o AOSM na sua Assinatura do Azure.
- Se a CNF se destinar a ser executada no Nexus do Operador do Azure, você terá acesso a uma instância do Nexus do Operador do Azure e deverá ter preenchido os pré-requisitos para a implantação de uma carga de trabalho.
- Você integrou uma CNF e tem o arquivo de entrada gerado com o arquivo
az aosm nsd generate-config
disponível no armazenamento local do computador a partir do qual está executando a CLI.
Configurar permissões
- Você precisa da função de Colaborador da sua assinatura para criar um Grupo de Recursos, ou de um Grupo de Recursos existente no qual já tenha a função de Colaborador.
- Você precisa das atribuições de função
Contributor
eAcrPush
na assinatura que conterá o Repositório de Artefatos gerenciado pelo AOSM.- A política da sua empresa talvez impeça que você tenha permissões no escopo da assinatura. O parâmetro
--no-subscription-permissions
, disponível no comandoaz aosm nsd publish
, usa permissões com escopo rígido derivadas do serviço do AOSM para orquestrar uma cópia em duas etapas de e para seu computador local. Essa cópia em duas etapas é mais lenta, mas não requer permissões no escopo da assinatura.
- A política da sua empresa talvez impeça que você tenha permissões no escopo da assinatura. O parâmetro
Modelos ARM
- Você precisa ter um modelo do ARM que defina os recursos do Azure que você quer implantar e que estejam presentes no armazenamento local do computador a partir do qual você está executando a CLI.
- Quaisquer parâmetros que você queira expor ao operador que implantará sua NSDV precisam ser definidos como parâmetros no modelo do ARM.
Observação
A Extensão de AOSM da CLI do Az não dá suporte à integração de recursos do Azure definidos em um modelo do BICEP. No entanto, você pode usar o comando bicep build
para converter seus arquivos BICEP em modelos do ARM. Confira a documentação em BICEP da CLI para obter informações e instruções detalhadas.
Helm e mecanismo do Docker
- Instale a CLI do Helm no computador host. Você precisa usar o Helm v3.8.0 ou posterior.
- Instale o Docker no computador host.
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 comando az login
e preencha os prompts exibidos no seu terminal para concluir a autenticação. Para ver mais opções de entrada, confira Entrar na CLI do Azure.
Observação
Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker. Você também pode usar o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Iniciar o Cloud Shell para usar o ambiente Bash no Azure Cloud Shell.
Instalar a extensão AOSM da CLI
A Extensão AOSM da CLI do Az requer a versão 2.54.0 ou posterior da CLI do Azure.
- Execute
az version
para ver a versão e as bibliotecas dependentes que estão instaladas. - Execute
az upgrade
para atualizar para a versão mais recente da CLI do Azure.
Instale a extensão AOSM da CLI usando esse comando:
az extension add --name aosm
Criar a Versão e Grupo de Design do Serviço de Rede
Abra o arquivo de entrada da NSDV que você gerou quando integrou sua CNF.
Observação
Você pode gerar um novo arquivo de entrada usando o comando
az aosm nsd generate-config --output-file <nsd-output-filename.jsonc>
se não tiver o arquivo de entrada da NSDV da integração da sua CNF.Insira os valores necessários usando os comentários embutidos no seu arquivo de entrada. Esse exemplo mostra o arquivo de entrada da extensão AOSM da CLI do Az para uma NSDV fictícia da Contoso, que pode ser usada para implantar uma CNF fictícia da Contoso em um cluster do Kubernetes do Nexus conectado ao Arc e uma instância do AKV em um local do Azure.
{ // 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", // Name of the ACR Artifact Store resource. // Will be created if it does not exist. "acr_artifact_store_name": "contoso-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-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-cnf NFD and an Azure Key Vault", // 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", // 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-cnf-nfd", // 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": "cnf" } }, { // Type of Resource Element. Either NF or ArmTemplate "resource_element_type": "ArmTemplate", // Properties of the Resource Element. "properties": { // Name of the artifact. Used as internal reference only. "artifact_name": "contoso-keyvault", // 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": "./contoso-keyvault.json" } } ] }
Observação
A seção de modelo do elemento do recurso define qual NFD (Design do Serviço de Rede) está incluído no NSD. As propriedades devem corresponder às usadas no arquivo de entrada repassado para o comando
az aosm nfd build
. Isso ocorre porque a Extensão AOSM da CLI do Azure valida se o NFD foi integrado corretamente ao compilar o NSD.Execute o comando a seguir para criar os modelos do BICEP da Versão e Grupo de Design do Serviço de Rede.
az aosm nsd build --config-file <nsd-output-filename.jsonc>
Você pode rever a estrutura de pastas e arquivos e fazer modificações se necessário.
Publicar a Versão e Grupo de Design do Serviço de Rede
Essa etapa cria os recursos de AOSM que definem a Versão e Grupo de Design do Serviço de Rede. Além disso, carrega artefatos exigidos pelo NSDV para o Repositório de Artefatos (modelo do ARM da NF e modelo do ARM do AKV).
- Execute o comando a seguir para publicar a Versão e Grupo de Design do Serviço de Rede. Se você não tiver as funções
Contributor
eAcrPush
no escopo da assinatura, inclua--no-subscription-permissions
no comando.
az aosm nsd publish --build-output-folder nsd-cli-output
Agora você tem um conjunto completo de recursos de distribuidor do AOSM e está pronto para executar o fluxo do operador.