Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mulai cepat ini menjelaskan cara menggunakan az aosm ekstensi Azure CLI untuk membuat dan menerbitkan Definisi Fungsi Jaringan dasar. Tujuannya adalah untuk menunjukkan alur kerja sumber daya Publisher Azure Operator Service Manager (AOSM). Konsep dasar yang disajikan di sini dimaksudkan untuk mempersiapkan pengguna untuk membangun layanan yang lebih menarik.
Prasyarat
Diperlukan akun Azure dengan langganan aktif. Jika Anda tidak memiliki langganan Azure, ikuti instruksi di sini Mulai gratis untuk membuat akun sebelum Memulai.
Grup Sumber Daya yang ada tempat Anda memiliki peran Kontributor, atau peran Kontributor atas langganan ini sehingga ekstensi AOSM CLI dapat membuat grup sumber daya.
Membuat file input
Jalankan perintah berikut untuk menghasilkan file konfigurasi input untuk Definisi Fungsi Jaringan (NFD).
az aosm nfd generate-config --definition-type vnf
Setelah Anda menjalankan perintah ini, file vnf-input.jsonc dihasilkan.
Catatan
Edit file vnf-input.jsonc, ganti dengan nilai yang ditunjukkan dalam sampel. Simpan file sebagai input-vnf-nfd.jsonc.
Jika Anda menggunakan grup sumber daya yang ada, ubah publisher_resource_group_name bidang untuk mencocokkannya.
Berikut adalah contoh file input-vnf-nfd.jsonc:
{
// 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"
}
}
| Variabel | Deskripsi |
|---|---|
| publisher_name | Nama sumber daya Publisher yang ingin Anda terbitkan definisi Anda. Dibuat jika tidak ada. |
| publisher_resource_group_name | Grup sumber daya untuk sumber daya Publisher. Dibuat jika tidak ada. |
| acr_artifact_store_name | Nama sumber daya Penyimpanan Artefak ACR. Dibuat jika tidak ada. |
| Lokasi | Lokasi Azure untuk digunakan saat membuat sumber daya. |
| nf_name | Nama definisi NF. |
| versi | Versi definisi NF dalam format A.B.C. |
| blob_artifact_store_name | Nama sumber daya Penyimpanan Artefak akun penyimpanan. Dibuat jika tidak ada. |
| ekspos_semua_parameter | Apakah akan membuat semua parameter konfigurasi NFD tersedia untuk perancang atau tidak. |
| arm_template | artifact_name: Nama artefak. |
| file_path: Opsional. Jalur file artefak yang ingin Anda unggah dari disk lokal Anda. Hapus jika tidak diperlukan. Jalur relatif relatif terhadap file konfigurasi. Pada Windows, keluar dari garis miring terbelakang dengan garis miring terbelakang lainnya. | |
| version: Versi artefak. Untuk versi templat ARM harus dalam format A.B.C. | |
| Vhd | artifact_name: Nama artefak. |
| file_path: Opsional. Jalur file artefak yang ingin Anda unggah dari disk lokal Anda. Hapus jika tidak diperlukan. Jalur relatif relatif terhadap file konfigurasi. Pada Windows, keluar dari garis miring terbelakang dengan garis miring terbelakang lainnya. | |
| blob_sas_url: Opsional. URL SAS artefak blob yang ingin Anda salin ke Penyimpanan Artefak Anda. Hapus jika tidak diperlukan. | |
| version: Versi artefak. Versi artefak. Untuk versi VHD harus dalam format A-B-C. | |
| "image_disk_size_GB: Opsional. Menentukan ukuran disk data kosong dalam gigabyte. Nilai ini tidak boleh lebih besar dari 1023 GB. Hapus jika tidak diperlukan. | |
| image_hyper_v_generation: Opsional. Menentukan HyperVGenerationType dari VirtualMachine yang dibuat dari gambar. Nilai yang valid adalah V1 dan V2. V1 adalah default jika tidak ditentukan. Hapus jika tidak diperlukan. | |
| image_api_version: Opsional. Versi ARM API yang digunakan untuk membuat sumber daya Microsoft.Compute/images. Hapus jika tidak diperlukan. |
Catatan
Saat menggunakan opsi file_path, penting untuk memiliki koneksi internet yang andal dengan bandwidth unggahan yang memadai, karena gambar VHD biasanya sangat besar.
Penting
Setiap variabel yang dijelaskan dalam tabel sebelumnya harus unik. Misalnya, nama grup sumber daya belum dapat ada, dan nama penerbit dan penyimpanan artefak harus unik di wilayah tersebut.
Membangun Definisi Fungsi Jaringan (NFD)
Untuk membangun Definisi Fungsi Jaringan (NFD), mulai proses build.
az aosm nfd build --config-file input-vnf-nfd.jsonc --definition-type vnf
Setelah build selesai, periksa file yang dihasilkan untuk lebih memahami struktur Definisi Fungsi Jaringan (NFD).
File-file ini dibuat dalam subdirektori yang disebut vnf-cli-output:
| Direktori / File | Deskripsi |
|---|---|
| vnf-cli-output/artifactManifest | |
| deploy.bicep | File Bicep untuk membuat manifes artefak, dengan artefak yang isinya diambil dari file input |
| vnf-cli-output/artefak | |
| artifacts.json | Daftar artefak (gambar dan templat ARM) yang akan diunggah saat diterbitkan. Berkorelasi dengan manifes artefak |
| vnf-cli-output/base | |
| deploy.bicep | File Bicep untuk membuat sumber daya AOSM yang mendasari yang diperlukan untuk menjalankan NF (penerbit, acr, nfdg) |
| vnf-cli-output/nfDefinition | |
| deploy.bicep | Bicep untuk membuat Versi Definisi Fungsi Jaringan (NFDV), dengan informasi aplikasi fungsi jaringan dari templat ARM yang disediakan dalam file input |
| deployParameters.json | Skema yang menentukan parameter penyebaran yang diperlukan untuk membuat Fungsi Jaringan (NF) dari Versi Definisi Fungsi Jaringan (NFDV) ini |
| <nama templat arm>-templateParameters.json | File berisi parameter penyebaran yang disediakan untuk Versi Definisi Fungsi Jaringan (NFDV) yang dipetakan ke parameter yang diperlukan untuk templat ARM Komputer Virtual (VM). Parameter templat ARM VM ini bersumber dari templat ARM yang disediakan dalam file input |
| vhdParameters.json | File berisi parameter penyebaran yang disediakan untuk Versi Definisi Fungsi Jaringan (NFDV) yang dipetakan ke parameter yang diperlukan untuk gambar VHD. Parameter konfigurasi VHD bersumber dari bagian VHD dari file input |
| vnf-cli-output | |
| all_deploy.parameters.json | Superset dari semua parameter penyebaran NF, menyediakan satu file untuk menyesuaikan nama sumber daya. Output nilai ke file ini oleh perintah build diambil dari file vnf-input.jsonc, tetapi dapat diedit dalam file ini sebelum menjalankan penerbitan, misalnya untuk menerbitkan ke lokasi yang berbeda atau menggunakan nama penerbit yang berbeda |
| index.json | File digunakan secara internal saat menerbitkan sumber daya. Jangan edit |
Catatan
Jika kesalahan dibuat, satu-satunya opsi untuk memperbaiki adalah menjalankan kembali perintah dengan pilihan yang tepat.
Menerbitkan Definisi Fungsi Jaringan dan mengunggah artefak
Jalankan perintah berikut untuk menerbitkan Definisi Fungsi Jaringan (NFD) dan unggah artefak terkait:
Catatan
Nama penerbit harus unik dalam suatu wilayah. Sangat mungkin bahwa 'ubuntu-publisher' yang ditentukan dalam contoh file konfigurasi sudah ada.
Jika Anda mendapatkan kesalahan yang mengatakan "Sumber daya penerbit privat dengan nama 'ubuntu-publisher' sudah ada di wilayah yang disediakan", edit publisher_name bidang dalam file konfigurasi sehingga unik (misalnya tambahkan akhiran string acak), jalankan build kembali perintah (di atas), lalu jalankan kembali perintah ini publish .
Jika Anda melanjutkan untuk membuat desain layanan jaringan, Anda harus menggunakan nama penerbit baru ini dalam resource_element_templates array.
az aosm nfd publish --build-output-folder vnf-cli-output --definition-type vnf
Setelah perintah selesai, periksa sumber daya dalam Grup Sumber Daya Penerbit Anda untuk mengamati komponen dan artefak yang dibuat.
Sumber daya ini dibuat:
| Nama Sumber Daya | Jenis Sumber Daya |
|---|---|
| ubuntu-vm | Definisi Fungsi Jaringan. |
| 1.0.0 | Versi Definisi Fungsi Jaringan. |
| ubuntu-publisher | Penerbit. |
| ubuntu-vm-acr-manifest-1-0-0 | Manifes Artefak Penerbit. |
| ubuntu-vm-sa-manifest-1-0-0 | Manifes Artefak Penerbit. |
| ubuntu-acr | Penyimpanan Artefak Penerbit. |
| ubuntu-blob-store | Penyimpanan Artefak Penerbit. |