Aracılığıyla paylaş


Hızlı Başlangıç: Nginx ile Kapsayıcılı Ağ İşlevi (CNF) Ağ Hizmeti Tasarımı 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ıç: Nginx kapsayıcısını Kapsayıcılı Ağ İşlevi (CNF) olarak yayımlama işlemini tamamlayın.

Giriş dosyası oluşturma

Ağ Hizmeti Tasarım Sürümünü ve ilişkili kaynakları yayımlamak için bir giriş dosyası oluşturun. Aşağıdaki komutu yürüterek Ağ Hizmeti Tasarım Sürümü (NSDV) için giriş yapılandırma dosyasını oluşturun.

az aosm nsd generate-config

Önceki komutun yürütülmesi bir nsd-input.jsonc dosyası oluşturur.

Not

input.json dosyasını düzenleyin. Aşağıdaki örnekte gösterilen değerlerle değiştirin. Dosyayı input-cnf-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

Örnek bir input-cnf-nsd.jsonc aşağıda verilmiştir:

{
  // 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 - Tanımınızın yayımlanmasını istediğiniz Publisher kaynağının adı. Henüz yoksa oluşturulur.
  • publisher_resource_group_name - Publisher kaynağının kaynak grubu. Henüz yoksa oluşturulur. Bu hızlı başlangıçta, Ağ İşlevi Tanımını yayımlarken kullandığınız Kaynak Grubu'nun aynısını kullanmanız önerilir.
  • acr_artifact_store_name - ACR Yapıt Deposu kaynağının adı. Henüz yoksa oluşturulur.
  • location - Kaynak oluştururken kullanılacak Azure konumu.
  • nsd_name - Ağ Hizmeti Tasarım Grubu adı. Ağ Hizmeti Tasarımı sürümlerinin koleksiyonu. Henüz yoksa oluşturulur.
  • nsd_version - Oluşturulan NSD'nin sürümü. A.B.C. biçiminde.
  • nsdv_description - NSDV'nin açıklaması.
  • resource_element_templates:
    • publisher - Bu NFDV'nin 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ı. CLI kullanarak NFDV'nizi yayımladıysanız bu, NF adıyla aynı olacaktır.
    • version - Bu NSD'yi temel alan 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.

Ağ Hizmeti Tasarım Sürümünü (NSDV) oluşturma

Aşağıdaki komutu kullanarak NSDV için derleme işlemini başlatın:

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

Derleme işlemi adlı nsd-cli-outputbir klasör oluşturur. Derleme işlemi tamamlandıktan sonra oluşturulan dosyaları gözden geçirerek NSDV mimarisi ve yapısı ve ilişkili kaynaklar hakkında içgörüler elde edin.

Bu dosyalar oluşturulur:

Dizin/Dosya Açıklama
nsdDefinition/config-group-schema.json Bu NSDV'den bir Site Ağ Hizmeti (SNS) oluşturmak için gereken dağıtım parametrelerinin şemasını tanımlar.
nsdDefinition/nginx-nsd-mappings.json NSDV parametrelerini NF ARM şablonu için gereken değerlerle eşler.
nsdDefinition/deploy.bicep NSDV'nin kendisini oluşturmak için Bicep şablonu.
Yapı NF ARM şablonu için bir bicep şablonunun yanı sıra yapıt bildirimine dahil edilecek yapıtların listesini içerir.
artifactManifest/deploy.bicep Yapıt bildirimi oluşturmak için Bicep şablonu.
base/deploy.bicep Yayımcı, ağ hizmeti tasarım grubu ve yapıt deposu kaynaklarını oluşturmak için Bicep şablonu

Ağ Hizmeti Tasarım Sürümünü Yayımlama (NSDV)

NSDV'yi 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

Yayımlama işlemi tamamlandığında, oluşturulan kaynakları ve yapıtları gözlemlemek ve gözden geçirmek için Yayımcı Kaynak Grubunuz'a gidin.

Sonraki adımlar