Aracılığıyla paylaş


Azure Operatör Nexus'ta Azure Operatör Hizmet Yöneticisi'ne (AOSM) dağıtım için Sanallaştırılmış Ağ İşlevi (VNF) ekleme

Bu nasıl yapılır kılavuzunda Ağ İşlevi Yayımcıları ve Hizmet Tasarım Aracı, AOSM'ye sanallaştırılmış bir ağ işlevi eklemek için Azure CLI AOSM uzantısının nasıl kullanılacağını öğrenir. Bu VNF daha sonra Azure Operatör Nexus'ta dağıtılabilir. Ekleme çok adımlı bir işlemdir. Önkoşulları karşıladıktan sonra Azure CLI AOSM uzantısını kullanarak şunları yapacaksınız:

  1. Ağ İşlevi Tanım Grubu ve Sürümü (NFD) tanımlayan BICEP dosyaları oluşturun.
  2. NFD'yi yayımlayın ve VNF görüntüsünü bir Yapıt Deposu'na (AOSM tarafından yönetilen Azure Container Registry (ACR)) yükleyin.
  3. Yayımlanan NFD'nizi Ağ Hizmeti Tasarım Grubu ve Sürümü (NSD) tanımlayan BICEP dosyalarına ekleyin.
  4. NSD'yi yayımlayın.

Önkoşullar

Not

VNF'yi AOSM'ye eklemeden önce Azure Operatör Nexus örneğinizde VM dağıtımının başarılı olduğunu test etmiş olmanız kesinlikle önerilir.

Azure Operatör Nexus sanal makinesi (VM) görüntüleri ve Azure Resource Manager (ARM) şablonları

  • Azure Operatörü Nexus Sanal Makinesi için bir görüntü oluşturdunuz. Bu görüntü bir ACR'de kullanılabilir olmalıdır.

  • Azure Operatör Nexus Sanal Makinesi dağıtan bir ARM şablonu oluşturdunuz.

  • VM ARM şablonu (hem AzureCore hem de Azure Operatör Nexus için) yalnızca aşağıdaki Kaynak Sağlayıcılarından ARM kaynaklarını dağıtabilir

    • Microsoft.Compute
    • Microsoft.Network
    • Microsoft.NetworkCloud
    • Microsoft.Storage
    • Microsoft.NetworkFabric
    • Microsoft.Authorization
    • Microsoft.ManagedIdentity
  • VNF ARM şablonu bir VM dağıtmalıdır. NSDV'ye NFDV'nin birden çok örneği dahil edilerek birden çok VM dağıtılabilir.

İzinleri yapılandırma

  • Kaynak Grubu veya Katkıda Bulunan rolüne sahip olduğunuz mevcut bir Kaynak Grubu oluşturmak için aboneliğiniz üzerinde Katkıda Bulunan rolüne ihtiyacınız vardır.
  • Görüntülerinizi içeren kaynak ACR'de rol atamalarına ihtiyacınız vardır Reader/AcrPull .
  • AOSM yönetilen Yapıt Deposu'na sahip olacak abonelikte ve AcrPush rol atamalarına ihtiyacınız vardırContributor. Bu izinler, Azure CLI AOSM Uzantısı'nın doğrudan ACR'ye ACR kopyası gerçekleştirmesine olanak sağlar. Doğrudan kopyalama, görüntüleri bir ACR'den diğerine aktarmanın en hızlı yöntemidir.
    • Şirket ilkeniz abonelik kapsamında izinlere sahip olmanıza engel olabilir. --no-subscription-permissions ve az aosm nsd publish komutlarında az aosm nfd publish kullanılabilen parametresi, yerel makinenize ve yerel makinenizden iki aşamalı bir kopyayı düzenleme amacıyla AOSM hizmetinden türetilen sıkı kapsamlı izinleri kullanır. Bu iki adımlı kopya daha yavaştır, ancak abonelik kapsamlı izinler gerektirmez.

Azure CLI'yi indirme ve yükleme

Azure CLI'yi yerel olarak yüklemek için Bkz . Azure CLI'yi yükleme.

Azure CLI'da oturum açmak için komutunu kullanın az login ve terminalinizde görüntülenen istemleri tamamlayarak kimlik doğrulamasını tamamlayın. Daha fazla oturum açma seçeneği için bkz . Azure CLI ile oturum açma.

Not

Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma. Bash ortamını Azure cloud shell'de de kullanabilirsiniz. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash ortamını kullanmak için Cloud Shell'i başlatma.

Helm ve Docker altyapısı

AOSM CLI uzantısını yükleme

Az CLI AOSM Uzantısı, Azure CLI'nın 2.54.0 veya sonraki bir sürümünü gerektirir.

  1. Yüklü sürümü ve bağımlı kitaplıkları görmek için komutunu çalıştırın az version .
  2. Azure CLI'nın geçerli sürümüne yükseltmek için komutunu çalıştırın az upgrade .

Şu komutu kullanarak AOSM CLI uzantısını yükleyin:

az extension add --name aosm

Ağ İşlevi Tanım Grubunu ve Sürümünü Oluşturma

Bu bölüm, çalışma dizininde Ağ İşlevi Tanım Grubunuzu ve Sürümünüzü tanımlayan AOSM kaynaklarının BICEP şablonları ve Yapıt Deposu ile adlı vnf-cli-output bir klasör oluşturur. Bu kaynaklar sonunda Ağ Hizmeti Tasarımınıza dahil edilecek

  1. VNF için Azure CLI AOSM uzantısı giriş dosyasını oluşturun.

    az aosm nfd generate-config --definition-type vnf-nexus --output-file <filename.jsonc>
    
  2. Önceki adımda oluşturduğunuz giriş dosyasını açın ve gerekli değerleri girmek için satır içi açıklamaları kullanın. Bu örnekte, Azure Operatör Nexus üzerinde çalışan kurgusal bir Contoso VNF için Az CLI AOSM uzantısı giriş dosyası gösterilmektedir.

    Not

    Azure CLI AOSM uzantısı, giriş ARM şablonunda varsayılan olarak varsayılan değerler olmadan yalnızca gerekli parametreleri kullanıma sunar. Ağ İşlevi Tanımı Sürümü (NFDV) ve Yapılandırma Grubu Şeması'ndaki (CGS) tüm ARM şablonu parametrelerini kullanıma sunacak şekilde ayarlayabilirsiniz expose_all_parameters true . Daha ayrıntılı bilgi için bkz . AOSM CLI uzantısı kullanılarak parametre kullanıma sunma.

    {
        // 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"]
    }```
    
    
  3. Aşağıdaki komutu yürüterek Ağ İşlevi Tanım Grubunu ve Sürümünü oluşturun.

az aosm nfd build --definition-type vnf-nexus --config-file <filename.jsonc>

Ağ İşlevi Tanım Grubunu ve Sürümünü Yayımlama

Bu adım, Ağ İşlevi Tanımını tanımlayan AOSM kaynaklarını ve Ağ İşlevi'nin VM görüntülerini depolamak için kullanılacak Yapıt Deposu'nı oluşturur. Ayrıca görüntüleri doğrudan kaynak ACR'den kopyalayarak veya abonelik kapsamı Contributor ve rolleriniz yoksa docker görüntülerini yerel olarak yeniden etiketleyerek ve AcrPush AOSM hizmetinden oluşturulan sıkı kapsamlı kimlik bilgilerini kullanarak Yapıt Deposu'na yükleyerek yapıt deposuna yükler.

  1. Aşağıdaki komutu yürüterek Ağ İşlevi Tanım Grubunu ve Sürümünü yayımlayın. Abonelik kapsamınız Contributor ve AcrPush rolleriniz yoksa komutuna ekleyin --no-subscription-permissions .
az aosm nfd publish --build-output-folder vnf-cli-output --definition-type vnf

Klasör ve dosya yapısını gözden geçirebilir ve gerekirse değişiklikler yapabilirsiniz.

Ağ Hizmeti Tasarım Grubu ve Sürümü Oluşturma

Bu bölüm, çalışma dizininde adlı nsd-cli-outputbir klasör oluşturur. Bu klasör, Ağ Hizmeti Tasarım Grubu ve Sürümü tanımlayan AOSM kaynaklarının BICEP şablonlarını içerir. Bu Ağ Hizmeti Tasarımı, önceki bölümlerde eklediğiniz Ağ İşlevini dağıtacak Site Ağ Hizmeti kaynağında kullanılan bir şablondur.

  1. Azure CLI AOSM Uzantısı NSD giriş dosyasını oluşturun.

    az aosm nsd generate-config --output-file <nsd-output-filename.jsonc>
    
  2. Önceki adımda oluşturduğunuz giriş dosyasını açın ve gerekli değerleri girmek için satır içi açıklamaları kullanın. Oluşturulan giriş dosyası türünde ek resource_element_type ArmTemplatebir içerir. VNF eklenirken bu gereksizdir; silebilirsiniz. Bu örnekte, bir Azure Operatör Nexus örneğine kurgusal Contoso VNF dağıtmak için kullanılabilecek kurgusal bir Contoso NSD için Az CLI AOSM uzantısı giriş dosyası gösterilmektedir.

    {
        // 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"
                }
            }
        ]
    }
    

    Not

    Kaynak öğesi şablonu bölümü, NSD'ye hangi NFD'nin dahil olduğunu tanımlar. Özellikler, komuta geçirilen giriş dosyasında kullanılanlarla az aosm nfd build eşleşmelidir. Bunun nedeni, Azure CLI AOSM Uzantısı'nın NSD'yi oluştururken NFD'nin doğru şekilde eklendiğini doğrulamasıdır.

  3. Ağ Hizmeti Tasarım Grubu ve Sürüm BICEP şablonlarını oluşturmak için aşağıdaki komutu yürütebilirsiniz.

az aosm nsd build --config-file <nsd-output-filename.jsonc>

Klasör ve dosya yapısını gözden geçirebilir ve gerekirse değişiklikler yapabilirsiniz.

Ağ Hizmeti Tasarımı'nı (NSD) yayımlama

Bu adım, Ağ Hizmeti Tasarım Grubu ve Sürümünü tanımlayan AOSM kaynaklarını oluşturur. Ayrıca NSD tarafından gereken yapıtları Yapıt Deposu'na (Ağ İşlevi ARM şablonu) yükler.

  1. Ağ Hizmeti Tasarım Grubunu ve Sürümünü yayımlamak için aşağıdaki komutu yürütür. Abonelik kapsamınız Contributor ve AcrPush rolleriniz yoksa komutuna ekleyin --no-subscription-permissions .
az aosm nsd publish --build-output-folder nsd-cli-output

Artık tam bir AOSM yayımcı kaynakları kümeniz var ve işleç akışını gerçekleştirmeye hazırsınız.

Sonraki adımlar