Guia de início rápido: projetar um projeto de serviço de rede CNF (função de rede em contêiner) com Nginx

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

Criar arquivo de entrada

Crie um arquivo de entrada para publicar a Versão de Design do Serviço de Rede e os recursos associados. Execute o seguinte comando para gerar o arquivo de configuração de entrada para o NSDV (Network Service Design Version).

az aosm nsd generate-config

A execução do comando anterior gera um arquivo nsd-input.jsonc.

Nota

Edite o arquivo input.json. Substitua-o pelos valores mostrados no exemplo abaixo. Salve o arquivo como input-cnf-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).

Aqui está um exemplo de input-cnf-nsd.jsonc:

{
  // 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": "nginx-publisher",
  // Resource group for the Publisher resource.
  // Will be created if it does not exist.
  "publisher_resource_group_name": "nginx-publisher-rg",
  // Name of the ACR Artifact Store resource.
  // Will be created if it does not exist.
  "acr_artifact_store_name": "nginx-nsd-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": "nginx-nsdg",
  // 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": "Deploys a basic NGINX CNF",
  // 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": "nginx-publisher",
        // The resource group that the publisher is hosted in.
        "publisher_resource_group": "nginx-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": "nginx",
        // 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": "cnf"
      }
    }
  ]
}
  • publisher_name - Nome do recurso Publisher para o qual pretende publicar a sua definição. Criado se ainda não existir.
  • publisher_resource_group_name - Grupo de recursos para o recurso Publicador. Criado se ainda não existir. Para este início rápido, é recomendável usar o mesmo Grupo de Recursos que você usou ao publicar a Definição de Função de Rede.
  • acr_artifact_store_name - Nome do recurso ACR Artifact Store. Criado se ainda não existir.
  • location - O local do Azure a ser usado ao criar recursos.
  • nsd_name - O nome do Grupo de Design de Serviço de Rede. A coleção de versões do Network Service Design. Criado se ainda não existir.
  • nsd_version - A versão da NSD que está a ser criada. No formato de A.B.C.
  • nsdv_description - A descrição da NSDV.
  • resource_element_templates:
    • publisher - O nome do editor sob o qual este NFDV é publicado.
    • 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. Isso será o mesmo que o nome da NF se você publicou seu NFDV usando a CLI.
    • version - A versão da definição de função de rede existente para basear esta NSD. 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.
    • type - Tipo de função de rede. Os valores válidos são cnf ou vnf.

Criar a versão de design de serviço de rede (NSDV)

Inicie o processo de compilação para o NSDV usando o seguinte comando:

az aosm nsd build -f input-cnf-nsd.jsonc

O processo de compilação gera uma pasta chamada nsd-cli-output. Após a conclusão do processo de compilação, revise os arquivos gerados para obter informações sobre a arquitetura e a estrutura do NSDV e dos recursos associados.

Estes ficheiros são criados:

Diretório/Arquivo Description
nsdDefinição/config-group-schema.json Define o esquema para os parâmetros de implantação necessários para criar um Serviço de Rede de Site (SNS) a partir deste NSDV.
nsdDefinição/nginx-nsd-mappings.json Mapeia os parâmetros para o NSDV para os valores necessários para o modelo NF ARM.
nsdDefinition/deploy.bicep Modelo de bíceps para criar o próprio NSDV.
artefatos Contém um modelo bicep para o modelo NF ARM, bem como uma lista de artefatos a serem incluídos no manifesto do artefato.
artifactManifest/deploy.bicep Modelo de bíceps para criar o manifesto do artefato.
base/deploy.bicep Modelo de bíceps para criar o editor, o grupo de design de serviço de rede e os recursos de armazenamento de artefatos

Publicar a versão de design do serviço de rede (NSDV)

Para publicar o NSDV e seus artefatos associados, emita o seguinte comando:

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

Quando o processo de publicação estiver concluído, navegue até o Grupo de Recursos do Publisher para observar e revisar os recursos e artefatos produzidos.

Próximos passos