التشغيل السريع: إكمال المتطلبات الأساسية لنشر وظيفة شبكة ظاهرية في Azure Operator Service Manager

قبل البدء في استخدام Azure Operator Service Manager، تأكد من تسجيل موفري الموارد المطلوبين وتثبيت الأدوات اللازمة للتفاعل مع الخدمة.

المتطلبات الأساسية

اتصل بفريق حساب Microsoft لتسجيل اشتراك Azure للوصول إلى Azure Operator Service Manager (AOSM) أو أعرب عن اهتمامك من خلال نموذج تسجيل الشريك.

تنزيل Azure CLI وتثبيته

يمكنك استخدام بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع التشغيل السريع ل Bash في Azure Cloud Shell.

إذا كنت تفضل تشغيل أوامر مرجع CLI محليا، فقم بتثبيت Azure CLI باستخدام كيفية تثبيت Azure CLI.

إذا كنت تعمل بالجهاز على Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.

للتثبيت المحلي، سجل الدخول إلى Azure CLI باستخدام az login الأمر .

لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات تسجيل الدخول الأخرى، راجع تسجيل الدخول باستخدام Azure CLI.

سجّل الدخول باستخدام Azure CLI

لتسجيل الدخول باستخدام Azure CLI، قم بإصدار الأمر التالي.

az login

حدد الاشتراك

لتغيير الاشتراك النشط باستخدام معرف الاشتراك، قم بإصدار الأمر التالي.

az account set --subscription "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

تثبيت ملحق Azure Operator Service Manager (AOSM) CLI

لتثبيت ملحق Azure Operator Service Manager CLI، قم بإصدار الأمر التالي.

az extension add --name aosm

قم بتشغيل az version لتحديد الإصدار والمكتبات التابعة المثبتة. قم بالترقية إلى أحدث إصدار عن طريق إصدار الأمر az upgrade.

تسجيل موفري الموارد المطلوبين

قبل استخدام Azure Operator Service Manager، يجب أولا تسجيل موفري الموارد المطلوبين عن طريق تنفيذ هذه الأوامر. قد تستغرق عملية التسجيل ما يصل إلى 5 دقائق.

# Register Resource Provider
az provider register --namespace Microsoft.HybridNetwork
az provider register --namespace Microsoft.ContainerRegistry
az provider register --namespace Microsoft.ContainerInstance

قم بالتحقق من حالة التسجيل

للتحقق من حالة تسجيل موفري الموارد، يمكنك تشغيل الأوامر التالية:

# Query the Resource Provider
az provider show -n Microsoft.HybridNetwork --query "{RegistrationState: registrationState, ProviderName: namespace}"
az provider show -n Microsoft.ContainerRegistry --query "{RegistrationState: registrationState, ProviderName: namespace}"
az provider show -n Microsoft.ContainerInstance --query "{RegistrationState: registrationState, ProviderName: namespace}"

عند النجاح، يعرض الإخراج التالي:

{
  "ProviderName": "Microsoft.HybridNetwork",
  "RegistrationState": "Registered"
}
{
  "ProviderName": "Microsoft.ContainerRegistry",
  "RegistrationState": "Registered"
}
{
  "ProviderName": "Microsoft.ContainerInstance",
  "RegistrationState": "Registered"
}

إشعار

قد يستغرق الأمر بضع دقائق حتى يكتمل تسجيل موفر الموارد. بمجرد نجاح التسجيل، يمكنك البدء في استخدام Network Function Manager (NFM) أو Azure Operator Service Manager.

متطلبات وظيفة الشبكة الظاهرية (VNF)

تنزيل صورة Ubuntu واستخراجها

إذا كنت تمتلك بالفعل صورة Ubuntu التي يمكن الوصول إليها من خلال عنوان URL SAS في تخزين Azure blob، يمكنك توفير الوقت عن طريق حذف هذه الخطوة. ضع في اعتبارك أن صورة Ubuntu كبيرة الحجم، حوالي 650 ميغابايت، بحيث يمكن أن تستغرق عملية النقل بعض الوقت.

# Download the Ubuntu image
wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64-azure.vhd.tar.gz

# Extract the downloaded image
tar -xzvf jammy-server-cloudimg-amd64-azure.vhd.tar.gz

قالب ARM للجهاز الظاهري (VM)

يتم استخدام نموذج قالب ARM التالي لجهاز Ubuntu الظاهري (VM) في هذا التشغيل السريع.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.21.1.54444",
      "templateHash": "2626436546580286549"
    }
  },
  "parameters": {
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    },
    "subnetName": {
      "type": "string"
    },
    "ubuntuVmName": {
      "type": "string",
      "defaultValue": "ubuntu-vm"
    },
    "virtualNetworkId": {
      "type": "string"
    },
    "sshPublicKeyAdmin": {
      "type": "string"
    },
    "imageName": {
      "type": "string"
    }
  },
  "variables": {
    "imageResourceGroup": "[resourceGroup().name]",
    "subscriptionId": "[subscription().subscriptionId]",
    "vmSizeSku": "Standard_D2s_v3"
  },
  "resources": [
    {
      "type": "Microsoft.Network/networkInterfaces",
      "apiVersion": "2021-05-01",
      "name": "[format('{0}_nic', parameters('ubuntuVmName'))]",
      "location": "[parameters('location')]",
      "properties": {
        "ipConfigurations": [
          {
            "name": "ipconfig1",
            "properties": {
              "subnet": {
                "id": "[format('{0}/subnets/{1}', parameters('virtualNetworkId'), parameters('subnetName'))]"
              },
              "primary": true,
              "privateIPAddressVersion": "IPv4"
            }
          }
        ]
      }
    },
    {
      "type": "Microsoft.Compute/virtualMachines",
      "apiVersion": "2021-07-01",
      "name": "[parameters('ubuntuVmName')]",
      "location": "[parameters('location')]",
      "properties": {
        "hardwareProfile": {
          "vmSize": "[variables('vmSizeSku')]"
        },
        "storageProfile": {
          "imageReference": {
            "id": "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('subscriptionId'), variables('imageResourceGroup')), 'Microsoft.Compute/images', parameters('imageName'))]"
          },
          "osDisk": {
            "osType": "Linux",
            "name": "[format('{0}_disk', parameters('ubuntuVmName'))]",
            "createOption": "FromImage",
            "caching": "ReadWrite",
            "writeAcceleratorEnabled": false,
            "managedDisk": "[json('{\"storageAccountType\": \"Premium_LRS\"}')]",
            "deleteOption": "Delete",
            "diskSizeGB": 30
          }
        },
        "osProfile": {
          "computerName": "[parameters('ubuntuVmName')]",
          "adminUsername": "azureuser",
          "linuxConfiguration": {
            "disablePasswordAuthentication": true,
            "ssh": {
              "publicKeys": [
                {
                  "path": "/home/azureuser/.ssh/authorized_keys",
                  "keyData": "[parameters('sshPublicKeyAdmin')]"
                }
              ]
            },
            "provisionVMAgent": true,
            "patchSettings": {
              "patchMode": "ImageDefault",
              "assessmentMode": "ImageDefault"
            }
          },
          "secrets": [],
          "allowExtensionOperations": true
        },
        "networkProfile": {
          "networkInterfaces": [
            {
              "id": "[resourceId('Microsoft.Network/networkInterfaces', format('{0}_nic', parameters('ubuntuVmName')))]"
            }
          ]
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/networkInterfaces', format('{0}_nic', parameters('ubuntuVmName')))]"
      ]
    }
  ]
}

احفظ ملف json السابق ك ubuntu-template.json على جهازك المحلي.

الخطوات التالية