Aracılığıyla paylaş


Hızlı Başlangıç: Ubuntu Sanal Makinesi (VM) için Sanallaştırılmış Ağ İşlevi (VNF) Olarak Ağ Hizmeti Tasarımı (NSD) Tasarlama

Bu hızlı başlangıçta, temel bir Ağ Hizmeti Tasarımı oluşturmak ve yayımlamak için Azure CLI uzantısının az aosm nasıl kullanılacağı açıklanmaktadır.

Önkoşullar

Etkin aboneliği olan bir Azure hesabı gereklidir. Azure aboneliğiniz yoksa başlamadan önce hesap oluşturmak için Ücretsiz başlat bölümündeki yönergeleri izleyin.

Hızlı Başlangıç: Ubuntu Sanal Makinesi'ni (VM) Sanal Ağ İşlevi (VNF) olarak yayımlama.

Giriş dosyası oluşturma

Ağ Hizmeti Tasarımı'nı yayımlamak için bir giriş dosyası oluşturun. Aşağıdaki komutu yürüterek Ağ Hizmeti Tasarımı (NSD) için giriş yapılandırma dosyasını oluşturun.

az aosm nsd generate-config

Bu komutu çalıştırdığınızda bir nsd-input.jsonc dosya oluşturulur.

Not

nsd-input.jsonc dosyasını düzenleyerek örnekte gösterilen değerlerle değiştirin. resource_element_type ArmTemplate olarak ayarlandığı bölümü kaldırın. Bu, bu hızlı başlangıçta gerekli olmayan daha karmaşık NSD'lere altyapı (sanal ağlar gibi) eklemek içindir. Dosyayı input-vnf-nsd.jsonc olarak kaydedin.

NFDV'yi yayımlarken yayımcının adını değiştirdiyseniz, hem ve publisher_name publisher alanları için yayımcı adınızı kullanın (ikincisi dizinin içindedir resource_element_templates ).

Farklı bir kaynak grubu adı kullandıysanız ve alanlarını güncelleştirin publisher_resource_group_name (ikincisi dizinin içindedirresource_element_templates).publisher_resource_group

{
  // 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": "ubuntu-publisher",
  // Resource group for the Publisher resource.
  // You should create this before running the publish command.
  "publisher_resource_group_name": "ubuntu-publisher-rg",
  // Name of the ACR Artifact Store resource.
  // Will be created if it does not exist.
  "acr_artifact_store_name": "ubuntu-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": "ubuntu-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": "Plain ubuntu VM",
  // 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": "ubuntu-publisher",
            // The resource group that the publisher is hosted in.
            "publisher_resource_group": "ubuntu-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": "ubuntu-vm",
            // 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": "vnf"
        }
    }
  ]
}
Değişken Açıklama
publisher_name Tanımınızın yayımlanmasını istediğiniz Publisher kaynağının adı. Yoksa oluşturulur.
publisher_resource_group_name Publisher kaynağı için kaynak grubu. Yoksa oluşturulur.
acr_artifact_store_name Azure Container Registry (ACR) Yapı Deposu kaynağının adı. Yoksa oluşturulur.
konum Kaynak oluştururken kullanılacak Azure konumu.
ağ işlevleri publisher: Bu Ağ İşlevi Tanımı Sürümünün (NFDV) altında yayımlandığı yayımcının adı.
publisher_resource_group: Yayımcının barındırıldığını kaynak grubu.
name: Bu NSD kullanılarak dağıtılacak mevcut Ağ İşlevi Tanım Grubunun adı.
version: Bu NSD'yi temel almak için mevcut Ağ İşlevi Tanımının sürümü. Bu NSD, bu sürümle uyumlu dağıtım parametreleriyle tüm NFDV'leri dağıtabilir.
publisher_offering_location: NFDV'nin yayımlandığı bölge.
type: Ağ İşlevinin türü. Geçerli değerler cnf veya vnf'dir.
nsd_name Ağ Hizmeti Tasarım Grubu Adı. Ağ Hizmeti Tasarım Sürümleri koleksiyonu. Yoksa oluşturulur.
nsd_version Oluşturulacak NSD sürümü. Biçim A.B.C olmalıdır.
nsdv_description NSDV'nin açıklaması.

Ağ Hizmeti Tasarımını (NSD) Oluşturma

Aşağıdaki komutu kullanarak Ağ Hizmeti Tasarımı (NSD) için derleme işlemini başlatın:

az aosm nsd build --config-file input-vnf-nsd.jsonc

Derleme işlemi tamamlandıktan sonra NSD'nin mimarisi ve yapısı hakkında içgörüler elde etmek için aşağıdaki oluşturulan dosyaları gözden geçirin.

Bu dosyalar nsd-cli-output adlı bir alt dizinde oluşturulur:

Dizin / Dosya Açıklama
nsd-cli-output/artifactManifest
deploy.bicep Giriş dosyasından doldurulan yapıtlarla yapıt bildirimi oluşturmak için Bicep şablonu
nsd-cli-output/artifacts
artifacts.json Yayımlama sırasında karşıya yüklenecek yapıtların (resimler ve ARM şablonları) listesi. Yapıt bildirimiyle bağıntılar
<nf-name.bicep> NF'yi dağıtmak için giriş dosyasında sağlanan Ağ İşlevi başına Bicep şablonu (NF) RET. Bu şablon bir ARM şablonuna dönüştürülür ve yayımla komutunu çalıştırdığınızda yapıt deposuna yüklenir
nsd-cli-output/base
deploy.bicep Bu NSD grubunun tüm NSDV'leri tarafından paylaşılan yayımcı, depolama hesapları ve ağ hizmeti tasarım grubunu oluşturmak için Bicep şablonu
nsd-cli-output/nsdDefinition
deploy.bicep Ağ Hizmeti Tasarım Sürümünü (NSDV) oluşturmak için Bicep şablonu. Bu şablon, nsd-input.jsonc dosyasında tanımlanan yayımlanmış NF'lerden veya ARM şablonlarından (altyapı için) alınan alt kaynak öğesi şablonlarını içerir
config-group-schema.json Bu NSDV'deki tüm NF'ler için birleştirilmiş yapılandırma grubu şeması. Bu şema, NSDV'yi bir site ağ hizmetinin (SNS) parçası olarak dağıtırken işlecin yapılandırma grubu değerlerinde sağlaması gereken girişleri tanımlar.
<nf-name>-mappings.json İşleç tarafından sağlanan yapılandırma grubu değerlerini NSDV'de tanımlanan dağıtım parametreleriyle eşleyen dosya. NSDV'nizde NF başına bir tane vardır
nsd-cli-output
all_deploy.parameters.json Tüm NF dağıtım parametrelerinin üst kümesi, kaynak adlarını özelleştirmek için tek bir dosya sağlar. Derleme komutu tarafından bu dosyaya giden değerler nsd-input.jsonc dosyasından alınır. Yayımlamayı çalıştırmadan önce, örneğin farklı bir konumda yayımlamak veya farklı bir yayımcı adı kullanmak için bu dosyadaki değerleri düzenleyebilirsiniz
index.json Kaynakları yayımlarken dahili olarak kullanılan dosya. Düzenleme

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

Ağ Hizmeti Tasarımı'nı (NSD) ve ilişkili yapıtlarını yayımlamak için aşağıdaki komutu çalıştırın:

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

Oluşturulan kaynakları ve yapıtları gözlemlemek ve gözden geçirmek için Yayımcı Kaynak Grubunuz'a gidin.

Bu kaynaklar oluşturulur:

Kaynak Adı Kaynak Türü
ubuntu-nsd Ağ Hizmeti Tasarımı.
1.0.0 (ubuntu-nsd/1.0.0) Ağ Hizmeti Tasarım Sürümü.
ubuntu-nsd-nsd-manifest-1-0-0 Publisher Yapıt Bildirimi.
ConfigGroupSchema Yapılandırma Grubu Şeması.

Sonraki adımlar