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ı. |