Bagikan melalui


Mulai Cepat: Merancang Desain Layanan Jaringan (NSD) untuk Ubuntu Virtual Machine (VM) sebagai Fungsi Jaringan Virtual (VNF)

Mulai cepat ini menjelaskan cara menggunakan az aosm ekstensi Azure CLI untuk membuat dan menerbitkan Desain Layanan Jaringan dasar.

Prasyarat

Diperlukan akun Azure dengan langganan aktif. Jika Anda tidak memiliki langganan Azure, ikuti instruksi di sini Mulai gratis untuk membuat akun sebelum Memulai.

Anda harus mengikuti prasyarat di Mulai Cepat: Menerbitkan Ubuntu Virtual Machine (VM) sebagai Fungsi Jaringan Virtual (VNF).

Membuat file input

Buat file input untuk menerbitkan Desain Layanan Jaringan. Jalankan perintah berikut untuk menghasilkan file konfigurasi input untuk Desain Layanan Jaringan (NSD).

az aosm nsd generate-config

File nsd-input.jsonc dihasilkan ketika Anda menjalankan perintah ini.

Catatan

Edit file nsd-input.jsonc, ganti dengan nilai yang ditunjukkan dalam sampel. Hapus bagian tempat resource_element_type diatur ke ArmTemplate. Ini untuk menambahkan infrastruktur (seperti VNet) ke NSD yang lebih rumit, yang tidak diperlukan dalam mulai cepat ini. Simpan file sebagai input-vnf-nsd.jsonc.

Jika Anda mengubah nama penerbit saat menerbitkan NFDV, gunakan nama penerbit Anda untuk publisher_name bidang dan publisher (yang terakhir berada dalam resource_element_templates array).

Jika Anda telah menggunakan nama grup sumber daya yang berbeda, perbarui publisher_resource_group_name bidang dan publisher_resource_group (yang terakhir berada dalam resource_element_templates array).

{
  // 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"
        }
    }
  ]
}
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 Azure Container Registry (ACR). Dibuat jika tidak ada.
Lokasi Lokasi Azure untuk digunakan saat membuat sumber daya.
fungsi jaringan publisher: Nama penerbit yang diterbitkan oleh Versi Definisi Fungsi Jaringan (NFDV) ini.
publisher_resource_group: Grup sumber daya tempat penerbit dihosting.
nama: Nama Grup Definisi Fungsi Jaringan yang ada untuk disebarkan menggunakan NSD ini.
versi: Versi Definisi Fungsi Jaringan yang ada untuk mendasarkan NSD ini. NSD ini dapat menyebarkan NFDV apa pun dengan parameter penyebaran yang kompatibel dengan versi ini.
publisher_offering_location: Wilayah tempat NFDV diterbitkan.
jenis: Jenis Fungsi Jaringan. Nilai yang valid adalah cnf atau vnf.
nsd_name Nama Grup Desain Layanan Jaringan. Kumpulan Versi Desain Layanan Jaringan. Dibuat jika tidak ada.
nsd_version Versi NSD yang akan dibuat. Formatnya harus A.B.C.
nsdv_description Deskripsi NSDV.

Membangun Desain Layanan Jaringan (NSD)

Mulai proses build untuk Desain Layanan Jaringan (NSD) menggunakan perintah berikut:

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

Setelah proses build selesai, tinjau file yang dihasilkan berikut untuk mendapatkan wawasan tentang arsitektur dan struktur NSD.

File-file ini dibuat dalam subdirektori yang disebut nsd-cli-output:

Direktori / File Deskripsi
nsd-cli-output/artifactManifest
deploy.bicep File Bicep untuk membuat manifes artefak, dengan artefak yang isinya diambil dari file input
nsd-cli-output/artefak
artifacts.json Daftar artefak (gambar dan templat ARM) yang akan diunggah saat diterbitkan. Berkorelasi dengan manifes artefak
<nf-name.bicep> File Bicep untuk setiap Fungsi Jaringan (NF) RET yang disediakan dalam file input, untuk proses penerapan NF. Templat ini dikonversi ke templat ARM dan diunggah ke penyimpanan artefak saat Anda menjalankan perintah terbitkan
nsd-cli-output/base
deploy.bicep File Bicep untuk membuat penerbit, akun penyimpanan, dan grup desain layanan jaringan yang dibagikan oleh semua NSDV grup NSD ini
nsd-cli-output/nsdDefinition
deploy.bicep File Bicep untuk membuat Versi Desain Layanan Jaringan (NSDV). Templat ini berisi templat elemen sumber daya anak, yang diambil dari templat NF atau ARM yang diterbitkan (untuk infrastruktur) yang ditentukan dalam file nsd-input.jsonc
config-group-schema.json Skema grup konfigurasi gabungan untuk semua NF dalam NSDV ini. Skema ini mendefinisikan input yang perlu disediakan operator dalam nilai grup konfigurasi saat menyebarkan NSDV sebagai bagian dari layanan jaringan situs (SNS).
<-mappings.json nf-name> File yang memetakan nilai grup konfigurasi yang disediakan oleh operator ke parameter penyebaran yang ditentukan dalam NSDV. Ada satu per NF di NSDV Anda
nsd-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 nsd-input.jsonc. Anda dapat mengedit nilai dalam file ini sebelum menjalankan penerbitan, misalnya untuk menerbitkan ke lokasi lain atau menggunakan nama penerbit yang berbeda
index.json File digunakan secara internal saat menerbitkan sumber daya. Jangan edit

Menerbitkan Desain Layanan Jaringan (NSD)

Untuk menerbitkan Desain Layanan Jaringan (NSD) dan artefak terkait, terbitkan perintah berikut:

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

Navigasi ke Grup Sumber Daya Penerbit Anda untuk mengamati dan meninjau sumber daya dan artefak yang diproduksi.

Sumber daya ini dibuat:

Nama Sumber Daya Jenis Sumber Daya
ubuntu-nsd Desain Layanan Jaringan.
1.0.0 (ubuntu-nsd/1.0.0) Versi Desain Layanan Jaringan.
ubuntu-nsd-nsd-manifest-1-0-0 Manifes Artefak Penerbit.
ConfiggroupSchema Skema Grup Konfigurasi.

Langkah berikutnya