Aracılığıyla paylaş


Hızlı Başlangıç: Azure Operatör Hizmeti Yöneticisi'nde Sanallaştırılmış Ağ İşlevi dağıtmak için önkoşulları tamamlayın

Azure Operatör Hizmeti Yöneticisi'ni kullanmaya başlamadan önce, gerekli kaynak sağlayıcılarını kaydettiğinizden ve hizmetle etkileşim kurmak için gerekli araçları yüklediğinizden emin olun.

Önkoşullar

Azure CLI'yi indirme ve yükleme

Bash ortamını Azure Cloud Shell'de kullanabilirsiniz. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.

CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız, Azure CLI'yi yükleme'yi kullanarak Azure CLI'yı yükleyin.

Makineniz Windows veya macOS üzerinde çalışıyorsa Azure CLI'yi bir Docker kapsayıcısında çalıştırmayı göz önünde bulundurun. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.

Yerel yükleme için komutunu kullanarak Azure CLI'da az login oturum açın.

Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.

Azure CLI'de oturum açma

Azure CLI ile oturum açmak için aşağıdaki komutu çalıştırın.

az login

Abonelik seçme

Abonelik kimliğini kullanarak etkin aboneliği değiştirmek için aşağıdaki komutu çalıştırın.

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

Azure Operatör Hizmet Yöneticisi (AOSM) CLI uzantısını yükleme

Azure Operatör Hizmeti Yöneticisi CLI uzantısını yüklemek için aşağıdaki komutu çalıştırın.

az extension add --name aosm

Yüklü sürümü ve bağımlı kitaplıkları belirlemek için komutunu çalıştırın az version . komutunu az upgradevererek en son sürüme yükseltin.

Gerekli kaynak sağlayıcılarını kaydetme

Azure Operatör Hizmet Yöneticisi'ni kullanmadan önce bu komutları yürüterek gerekli kaynak sağlayıcılarını kaydetmeniz gerekir. Kayıt işlemi 5 dakika kadar sürebilir.

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

Kayıt durumunu doğrulama

Kaynak sağlayıcılarının kayıt durumunu doğrulamak için aşağıdaki komutları çalıştırabilirsiniz:

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

Başarılı olduğunda aşağıdaki çıkış görüntülenir:

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

Not

Kaynak sağlayıcısı kaydının tamamlanması birkaç dakika sürebilir. Kayıt başarılı olduktan sonra Ağ İşlev Yöneticisi'ni (NFM) veya Azure Operatör Hizmet Yöneticisi'ni kullanmaya başlayabilirsiniz.

Sanal Ağ İşlevi (VNF) gereksinimleri

Ubuntu görüntüsünü indirme ve ayıklama

Azure blob depolamada SAS URL'si aracılığıyla erişilebilen Ubuntu görüntüsüne zaten sahipseniz, bu adımı atlayarak zaman kazanabilirsiniz. Ubuntu görüntüsünün yaklaşık 650 MB boyutunda olduğunu ve bu nedenle aktarım işleminin biraz zaman alabileceğini unutmayın.

# 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

Sanal Makine (VM) ARM şablonu

Bu hızlı başlangıçta Ubuntu Sanal Makinesi (VM) için aşağıdaki örnek ARM şablonu kullanılmıştır.

{
  "$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')))]"
      ]
    }
  ]
}

Önceki json dosyasını yerel makinenizde ubuntu-template.json olarak kaydedin.

Sonraki adımlar