Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta, temel bir Ağ İşlevi Tanımı oluşturmak ve yayımlamak için Azure CLI uzantısının az aosm nasıl kullanılacağı açıklanmaktadır. Amacı, Publisher Azure Operatör Hizmet Yöneticisi (AOSM) kaynaklarının iş akışını göstermektir. Burada sunulan temel kavramlar, kullanıcıları daha heyecan verici hizmetler oluşturmaya hazırlamaya yöneliktir.
Ö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.
AOSM CLI uzantısının kaynak grubunu oluşturabilmesi için Bu abonelik üzerinde Katkıda Bulunan rolüne veya Katkıda Bulunan rolüne sahip olduğunuz mevcut bir Kaynak Grubu.
Giriş dosyası oluşturma
Aşağıdaki komutu yürüterek Ağ İşlevi Tanımı (NFD) için giriş yapılandırma dosyasını oluşturun.
az aosm nfd generate-config --definition-type vnf
Bu komutu yürütürken bir vnf-input.jsonc dosyası oluşturulur.
Not
vnf-input.jsonc dosyasını örnekte gösterilen değerlerle değiştirerek düzenleyin. Dosyayı input-vnf-nfd.jsonc olarak kaydedin.
Var olan bir kaynak grubunu kullanıyorsanız, alanı bu grupla publisher_resource_group_name eşleşecek şekilde değiştirin.
Örnek bir input-vnf-nfd.jsonc dosyası 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": "ubuntu-publisher",
// Resource group for the Publisher resource.
// Will be created if it does not exist
"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",
// Name of the network function.
"nf_name": "ubuntu-vm",
// 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,
// Optional. Name of the storage account Artifact Store resource.
// Will be created if it does not exist (with a default name if none is supplied).
"blob_artifact_store_name": "ubuntu-blob-store",
// 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": "ubuntu-template",
// 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": "ubuntu-template.json"
}
],
// VHD image configuration.
"vhd": {
// Optional. Name of the artifact. Name will be generated if not supplied.
"artifact_name": "",
// Version of the artifact in A-B-C format. Note the '-' (dash) not '.' (dot).
"version": "1-0-0",
// Supply either file_path or blob_sas_url, not both.
// File path (absolute or relative to this configuration file) of the artifact you wish to upload from your local disk.
// Leave as empty string if not required. Use Linux slash (/) file separator even if running on Windows.
"file_path": "livecd.ubuntu-cpc.azure.vhd",
// Optional. Specifies the size of empty data disks in gigabytes.
// This value cannot be larger than 1023 GB. Delete if not required.
"image_disk_size_GB": "30",
// Optional. Specifies the HyperVGenerationType of the VirtualMachine created from the image.
// Valid values are V1 and V2. V1 is the default if not specified. Delete if not required.
"image_hyper_v_generation": "V1",
// Optional. The ARM API version used to create the Microsoft.Compute/images resource.
// Delete if not required.
"image_api_version": "2023-03-01"
}
}
| 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 | ACR Yapıt Deposu kaynağının adı. Yoksa oluşturulur. |
| konum | Kaynak oluştururken kullanılacak Azure konumu. |
| nf_name | NF tanımının adı. |
| versiyon | A.B.C biçiminde NF tanımının sürümü. |
| blob_artifact_store_name | Depolama hesabı Yapıt Deposu kaynağının adı. Yoksa oluşturulur. |
| tüm_parametreleri_göster | Tüm NFD yapılandırma parametrelerini tasarımcının kullanımına sunup sunmayacağı. |
| arm_template | artifact_name: Yapıtın adı. |
| file_path: İsteğe bağlı. Yerel diskinizde karşıya yüklemek istediğiniz yapıtın dosya yolu. Gerekli değilse silin. Göreli yollar yapılandırma dosyasına göredir. Windows'ta herhangi bir ters eğik çizgiden başka bir ters eğik çizgiyle kaçış. | |
| version: Yapıtın sürümü. ARM şablonları sürümü A.B.C biçiminde olmalıdır. | |
| Vhd | artifact_name: Yapıtın adı. |
| file_path: İsteğe bağlı. Yerel diskinizde karşıya yüklemek istediğiniz yapıtın dosya yolu. Gerekli değilse silin. Göreli yollar yapılandırma dosyasına göredir. Windows'ta herhangi bir ters eğik çizgiden başka bir ters eğik çizgiyle kaçış. | |
| blob_sas_url: İsteğe bağlı. Yapıt Deponuza kopyalamak istediğiniz blob yapıtın SAS URL'si. Gerekli değilse silin. | |
| version: Yapıtın sürümü. Yapıtın sürümü. VHD'lerin sürümü A-B-C biçiminde olmalıdır. | |
| "image_disk_size_GB: İsteğe bağlı. Boş veri disklerinin boyutunu gigabayt cinsinden belirtir. Bu değer 1023 GB'tan büyük olamaz. Gerekli değilse silin. | |
| image_hyper_v_generation: İsteğe bağlı. Görüntüden oluşturulan VirtualMachine'in HyperVGenerationType değerini belirtir. Geçerli değerler V1 ve V2'dir. Belirtilmezse V1 varsayılan değerdir. Gerekli değilse silin. | |
| image_api_version: İsteğe bağlı. Microsoft.Compute/images kaynağını oluşturmak için kullanılan ARM API sürümü. Gerekli değilse silin. |
Not
file_path seçeneğini kullanırken, VHD görüntüleri genellikle çok büyük olduğundan yeterli karşıya yükleme bant genişliğine sahip güvenilir bir İnternet bağlantısına sahip olmak önemlidir.
Önemli
Önceki tabloda açıklanan her değişken benzersiz olmalıdır. Örneğin, kaynak grubu adı zaten var olamaz ve yayımcı ve yapıt deposu adları bölgede benzersiz olmalıdır.
Ağ İşlevi Tanımını (NFD) Oluşturma
Ağ İşlevi Tanımını (NFD) oluşturmak için derleme işlemini başlatın.
az aosm nfd build --config-file input-vnf-nfd.jsonc --definition-type vnf
Derleme tamamlandıktan sonra, Ağ İşlevi Tanımı (NFD) yapısını daha iyi anlamak için oluşturulan dosyaları inceleyin.
Bu dosyalar vnf-cli-output adlı bir alt dizinde oluşturulur:
| Dizin / Dosya | Açıklama |
|---|---|
| vnf-cli-output/artifactManifest | |
| deploy.bicep | Giriş dosyasından doldurulan yapıtlarla yapıt bildirimi oluşturmak için Bicep dosyası |
| vnf-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 |
| vnf-cli-output/base | |
| deploy.bicep | Bir NF (publisher, acr, nfdg) başlatmak için gereken temel AOSM kaynaklarını oluşturacak Bicep dosyası. |
| vnf-cli-output/nfDefinition | |
| deploy.bicep | Giriş dosyasında sağlanan ARM şablonundan ağ işlevi uygulama bilgileriyle Ağ İşlevi Tanımı Sürümünü (NFDV) oluşturmak için Bicep |
| deployParameters.json | Bu Ağ İşlevi Tanım Sürümünden (NFDV) bir Ağ İşlevi (NF) oluşturmak için gereken dağıtım parametrelerini tanımlayan şema |
| <arm-template-name>-templateParameters.json | Dosya, Sanal Makine (VM) ARM şablonu için gereken parametrelerle eşlenmiş Ağ İşlevi Tanımı Sürümü'ne (NFDV) sağlanan dağıtım parametrelerini içerir. Bu VM ARM şablonu parametreleri, giriş dosyasında sağlanan ARM şablonlarından kaynaklanmıştır |
| vhdParameters.json | Dosya, VHD görüntüsü için gereken parametrelerle eşlenmiş Ağ İşlevi Tanımı Sürümü'ne (NFDV) sağlanan dağıtım parametrelerini içerir. VHD yapılandırma parametreleri giriş dosyasının VHD bölümünden kaynaklanmıştır |
| vnf-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 vnf-input.jsonc dosyasından alınır, ancak yayımlama çalıştırılmadan önce bu dosyada düzenlenebilir, örneğin farklı bir konuma yayımlamak veya farklı bir yayımcı adı kullanmak için |
| index.json | Kaynakları yayımlarken dahili olarak kullanılan dosya. Düzenleme |
Not
Hatalar yapıldıysa, düzeltmenin tek seçeneği komutu doğru seçimlerle yeniden çalıştırmaktır.
Ağ İşlevi Tanımını yayımlama ve yapıtları karşıya yükleme
Aşağıdaki komutu yürüterek Ağ İşlevi Tanımı'nı (NFD) yayımlayın ve ilişkili yapıtları karşıya yükleyin:
Not
Yayımcı adları bir bölge içinde benzersiz olmalıdır. Büyük olasılıkla örnek yapılandırma dosyasında tanımlanan 'ubuntu-publisher' zaten var.
"Sağlanan bölgede 'ubuntu-publisher' adlı özel bir yayımcı kaynağı zaten var" hatasını alırsanız, yapılandırma dosyasındaki alanı benzersiz olacak şekilde düzenleyin publisher_name (örneğin, rastgele dize son eki ekleyin), komutu yeniden çalıştırın build (yukarıda) ve sonra bu publish komutu yeniden çalıştırın.
Ağ hizmeti tasarımı oluşturmaya devam ederseniz, dizide resource_element_templates bu yeni yayımcı adını kullanmanız gerekir.
az aosm nfd publish --build-output-folder vnf-cli-output --definition-type vnf
Komut tamamlandığında, oluşturulan bileşenleri ve yapıtları gözlemlemek için Publisher Kaynak Grubunuzdaki kaynakları inceleyin.
Bu kaynaklar oluşturulur:
| Kaynak Adı | Kaynak Türü |
|---|---|
| ubuntu-vm | Ağ İşlevi Tanımı. |
| 1.0.0 | Ağ İşlevi Tanımı Sürümü. |
| ubuntu-publisher | Yayımcı. |
| ubuntu-vm-acr-manifest-1-0-0 | Publisher Yapıt Bildirimi. |
| ubuntu-vm-sa-manifest-1-0-0 | Publisher Yapıt Bildirimi. |
| ubuntu-acr | Publisher Yapıt Deposu. |
| ubuntu-blob-store | Publisher Yapıt Deposu. |