Início Rápido: criar um design de serviço de rede de CNF (função de rede em contêineres) com o Nginx
Este início rápido descreve como usar a extensão da CLI do Azure az aosm
para criar e publicar um design de serviço de rede básico.
Pré-requisitos
- É necessária uma conta do Azure com uma assinatura ativa. Se você não tiver uma assinatura do Azure, siga as instruções aqui Iniciar gratuitamente para criar uma conta antes de começar.
- Conclua o Início Rápido: publicar o contêiner Nginx como CNF (Função de Rede em Contêineres).
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 a Versão de Design de Serviço de Rede (NSDV).
az aosm nsd generate-config
A execução do comando anterior gera um arquivo nsd-input.jsonc.
Observação
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 publicador ao publicar o NFDV, use o nome do publicador para os campos publisher_name
e publisher
(o último está dentro da matriz resource_element_templates
).
Se você tiver usado um nome de grupo de recursos diferente, atualize os campos publisher_resource_group_name
e publisher_resource_group
(o último está dentro da matriz resource_element_templates
).
Veja 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: o nome do recurso Publicador para o qual você deseja que sua definição seja publicada. Um será criado se ele ainda não existir.
- publisher_resource_group_name: o grupo de recursos para o recurso Publicador. Um será criado se ele ainda não existir. Para este início rápido, é recomendável que você use o mesmo Grupo de Recursos usado ao publicar a Definição de Função de Rede.
- acr_artifact_store_name: nome do recurso do Repositório de Artefatos do ACR. Um será criado se ele ainda não existir.
- location: o local do Azure a ser usado ao criar recursos.
- nsd_name: o nome do grupo de design do serviço de rede. A coleção de versões de design do serviço de rede. Um será criado se ele ainda não existir.
- nsd_version: a versão do NSD sendo criado. No formato de A.B.C.
- nsdv_description: a descrição do NSDV.
- resource_element_templates:
- publisher: o nome do publicador no qual este NFDV está publicado.
- publisher_resource_group: o grupo de recursos no qual o publicador está hospedado.
- name: o nome do grupo de definição de função de rede existente a ser implantado usando esse NSD. Isso será o mesmo que o nome da NF se você tiver publicado sua NFDV usando a CLI.
- version: a versão da definição de função de rede existente na qual basear esse NSD. Esse NSD consegue implantar qualquer NFDV com parâmetros de implantação compatíveis com esta versão.
- publisher_offering_location: a região na qual o NFDV foi publicado.
- type: tipo de função de rede. Os valores válidos são cnf ou vnf.
Criar a Versão de Design do Serviço de Rede (NSDV)
Inicie o processo de build para a NSDV usando o seguinte comando:
az aosm nsd build -f input-cnf-nsd.jsonc
O processo de build gera uma pasta chamada nsd-cli-output
. Após a conclusão do processo de build, examine os arquivos gerados para obter insights sobre a arquitetura e a estrutura da NSDV e dos recursos associados.
Estes arquivos são criados:
Diretório/arquivo | Descrição |
---|---|
nsdDefinition/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 dessa NSDV. |
nsdDefinition/nginx-nsd-mappings.json | Mapeia os parâmetros da NSDV para os valores necessários para o modelo do ARM da NF. |
nsdDefinition/deploy.bicep | Modelo Bicep para criar a NSDV. |
artifacts | Contém um modelo bicep para o modelo do ARM da NF, bem como uma lista de artefatos a serem incluídos no manifesto do artefato. |
artifactManifest/deploy.bicep | Modelo do Bicep para criar os manifestos do artefato. |
base/deploy.bicep | Modelo Bicep para criar o publicador, o grupo de design do serviço de rede e os recursos do repositório de artefatos |
Publicar a Versão de Design do Serviço de Rede (NSDV)
Para publicar a 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 for concluído, navegue até o grupo de recursos do publicador para observar e examinar os recursos e artefatos que foram produzidos.