Hızlı Başlangıç: Azure CLI kullanarak Azure Operatör Nexus sanal makinesi oluşturma

  • Azure CLI kullanarak Azure Nexus sanal makinesi dağıtma

Bu hızlı başlangıç kılavuzu, sanal ağ işlevlerini (VNFs) barındırmak için Nexus sanal makinelerini kullanmaya başlamanıza yardımcı olmak için tasarlanmıştır. Bu kılavuzda açıklanan adımları izleyerek, özel gereksinimlerinizi ve gereksinimlerinizi karşılayan özelleştirilmiş bir Nexus sanal makinesini hızlı ve kolay bir şekilde oluşturabilirsiniz. İster yeni başlayan ister Nexus ağı uzmanı olun, bu kılavuz size yardımcı olmak için buradadır. Sanal ağ işlevlerini barındırmak için Nexus sanal makineleri oluşturmak ve özelleştirmek için bilmeniz gereken her şeyi öğrenirsiniz.

Başlamadan önce

Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

  • Gerekli Azure CLI uzantılarının en son sürümünü yükleyin.

  • Birden çok Azure aboneliğiniz varsa, komutu kullanılarak az account kaynakların faturalandırılacağı uygun abonelik kimliğini seçin.

  • Sanal makine oluşturmaya devam etmeden önce, kullanılacak kapsayıcı görüntüsünün yönergelere göre oluşturulduğundan emin olun.

  • az group create komutunu kullanarak bir kaynak grubu oluşturun. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir grupdur. Bir kaynak grubu oluşturduğunuzda, bir konum belirtmeniz istenir. Bu konum, kaynak grubu meta verilerinizin depolama konumudur ve kaynak oluşturma sırasında başka bir bölge belirtmezseniz kaynaklarınızın Azure'da çalıştırıldığı konumdur. Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur.

    az group create --name myResourceGroup --location eastus
    

    Aşağıdaki çıkış örneği, kaynak grubunun başarıyla oluşturulmasına benzer:

    {
      "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
      "location": "eastus",
      "managedBy": null,
      "name": "myResourceGroup",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "tags": null
    }
    
  • Bicep dosyasını veya ARM şablonunu dağıtmak için, dağıttığınız kaynaklara yazma erişimine ve kaynak türündeki Microsoft.Resources/deployments tüm işlemlere erişmeniz gerekir. Örneğin, bir kümeyi dağıtmak için Microsoft.NetworkCloud/virtualMachines/write ve Microsoft.Resources/deployments/* izinlerine ihtiyacınız vardır. Rol ve izinlerin bir listesi için Azure yerleşik roller'ine bakın.

  • Azure Operatör Nexus kümenizin kaynak kimliğine ihtiyacınız vardır custom location .

  • Belirli iş yükü gereksinimlerinize göre çeşitli ağlar oluşturmanız gerekir. İş yükleriniz için uygun IP adreslerinin kullanılabilir olması önemlidir. Sorunsuz bir uygulama sağlamak için yardım için ilgili destek ekiplerine başvurmanız önerilir.

Nexus sanal makinesi oluşturma

Aşağıdaki örnek, eastus konumundaki myResourceGroup kaynak grubunda myNexusVirtualMachine adlı bir sanal makine oluşturur.

Komutları çalıştırmadan önce, sanal makinenizin yapılandırmasını tanımlamak için birkaç değişken ayarlamanız gerekir. Belirli değişkenler için kullanabileceğiniz bazı varsayılan değerlerin yanı sıra ayarlamanız gereken değişkenler şunlardır:

Variable Description
KONUM Sanal makinenizi oluşturmak istediğiniz Azure bölgesi.
Kaynak Grubu Sanal makineyi oluşturmak istediğiniz Azure kaynak grubunun adı.
ABONELİK Azure aboneliğinizin kimliği.
CUSTOM_LOCATION Bu bağımsız değişken, Nexus örneğinin özel konumunu belirtir.
CSN_ARM_ID Sanal makinenin bağlandığı bulut hizmetleri ağının ARM kaynak kimliği.
L3_NETWORK_ID Sanal makinenin bağlandığını L3 ağının ARM kaynak kimliği.
NETWORK_INTERFACE_NAME Atanacak L3 ağ arabiriminin adı.
ADMIN_USERNAME Sanal makine yöneticisinin kullanıcı adı.
SSH_PUBLIC_KEY Sanal makineyle güvenli iletişim için kullanılan SSH ortak anahtarı.
CPU ÇEKİRDEKLERİ Sanal makine için CPU çekirdeği sayısı (çift sayı, maksimum 46 vCPU)
BELLEK_BOYUTU Sanal makine için bellek miktarı (GiB cinsinden en fazla 224 GiB).
VM_DISK_SIZE Sanal makine diskinin boyutu (GiB cinsinden).
VM_IMAGE Sanal makine görüntüsünün URL'si.
ACR_URL Azure Container Registry'nin (ACR) URL'si.
ACR_USERNAME Azure Container Registry'nin kullanıcı adı.
ACR_PASSWORD Azure Container Registry'nin parolası.
UAMI_ID Kullanıcı tarafından atanan yönetilen kimliğin kaynak kimliği (kullanıcı tarafından atanan yönetilen kimlik kullanılıyorsa).

Uyarı

Kullanıcı verileri şifrelenmez ve SANAL makinedeki herhangi bir işlem bu verileri sorgulayabilir. Gizli bilgileri kullanıcı verilerinde depolamamalısınız. Daha fazla bilgi için bkz. Azure veri güvenliği ve şifreleme en iyi yöntemleri.

Değişkenler tanımlandıktan sonra Azure CLI komutunu çalıştırarak sanal makineyi oluşturabilirsiniz. Sorun giderme amacıyla daha ayrıntılı çıktı sağlamak için sonuna bayrağını ekleyin --debug .

Aşağıdaki komut kümesini kullanın ve örnek değerleri tercih ettiğiniz değerlerle değiştirin. Aşağıdaki örnekte gösterildiği gibi, bazı değişkenler için varsayılan değerleri de kullanabilirsiniz:

# Azure parameters
RESOURCE_GROUP="myResourceGroup"
SUBSCRIPTION="<Azure subscription ID>"
CUSTOM_LOCATION="/subscriptions/<subscription_id>/resourceGroups/<managed_resource_group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
LOCATION="$(az group show --name $RESOURCE_GROUP --query location --subscription $SUBSCRIPTION -o tsv)"

# VM parameters
VM_NAME="myNexusVirtualMachine"

# VM credentials
ADMIN_USERNAME="azureuser"
SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)"

# Network parameters
CSN_ARM_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/cloudServicesNetworks/<csn-name>"
L3_NETWORK_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/l3Networks/<l3Network-name>"
NETWORK_INTERFACE_NAME="mgmt0"

# VM Size parameters
CPU_CORES=4
MEMORY_SIZE=12
VM_DISK_SIZE="64"

# Virtual Machine Image parameters
VM_IMAGE="<VM image, example: myacr.azurecr.io/ubuntu:20.04>"
ACR_URL="<Azure Container Registry URL, example: myacr.azurecr.io>"
ACR_USERNAME="<Azure Container Registry username>"
ACR_PASSWORD="<Azure Container Registry password>"

Önemli

Bu komutları çalıştırmadan önce CUSTOM_LOCATION, CSN_ARM_ID, L3_NETWORK_ID ve ACR parametreleri için yer tutucuları gerçek değerlerinizle değiştirmeniz önemlidir.

Bu değişkenleri tanımladıktan sonra aşağıdaki Azure CLI komutunu yürüterek sanal makineyi oluşturabilirsiniz.

az networkcloud virtualmachine create \
    --name "$VM_NAME" \
    --resource-group "$RESOURCE_GROUP" \
    --subscription "$SUBSCRIPTION" \
    --extended-location name="$CUSTOM_LOCATION" type="CustomLocation" \
    --location "$LOCATION" \
    --admin-username "$ADMIN_USERNAME" \
    --csn "attached-network-id=$CSN_ARM_ID" \
    --cpu-cores $CPU_CORES \
    --memory-size $MEMORY_SIZE \
    --network-attachments '[{"attachedNetworkId":"'$L3_NETWORK_ID'","ipAllocationMethod":"Dynamic","defaultGateway":"True","networkAttachmentName":"'$NETWORK_INTERFACE_NAME'"}]'\
    --storage-profile create-option="Ephemeral" delete-option="Delete" disk-size="$VM_DISK_SIZE" \
    --vm-image "$VM_IMAGE" \
    --ssh-key-values "$SSH_PUBLIC_KEY" \
    --vm-image-repository-credentials registry-url="$ACR_URL" username="$ACR_USERNAME" password="$ACR_PASSWORD"

Yönetilen kimliklere sahip sanal makineler

Sanal makineyi sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimlikle oluşturun. VM'ye yönetilen kimlik eklemek için API sürümünün 2025-07-01-preview veya daha yüksek bir sürüm olması gerekir.

Uzantınınnetworkcloud gerekli API sürümünü destekleyen bir sürümle yüklendiğinden emin olun. Desteklenen sürümleri GitHub'daki networkcloud uzantı yayın geçmişinde bulabilirsiniz.

Önemli

VM'yi oluştururken yönetilen kimlik belirtmezseniz, sağlamadan sonra VM'yi güncelleştirerek yönetilen kimlik desteğini etkinleştiremezsiniz.

Sanal makine için sistem tarafından atanan yönetilen kimliği etkinleştirmek için --mi-system-assigned bayrağını (veya --system-assigned diğer adını) eklediğinizden emin olun.

Azure CLI ile System-Assigned Yönetilen Kimlik (SAMI) kullanarak sanal makineyi oluşturun:

az networkcloud virtualmachine create \
    --name "$VM_NAME" \
    --resource-group "$RESOURCE_GROUP" \
    --subscription "$SUBSCRIPTION" \
    --extended-location name="$CUSTOM_LOCATION" type="CustomLocation" \
    --location "$LOCATION" \
    --admin-username "$ADMIN_USERNAME" \
    --csn "attached-network-id=$CSN_ARM_ID" \
    --cpu-cores $CPU_CORES \
    --memory-size $MEMORY_SIZE \
    --network-attachments '[{"attachedNetworkId":"'$L3_NETWORK_ID'","ipAllocationMethod":"Dynamic","defaultGateway":"True","networkAttachmentName":"'$NETWORK_INTERFACE_NAME'"}]'\
    --storage-profile create-option="Ephemeral" delete-option="Delete" disk-size="$VM_DISK_SIZE" \
    --vm-image "$VM_IMAGE" \
    --ssh-key-values "$SSH_PUBLIC_KEY" \
    --vm-image-repository-credentials registry-url="$ACR_URL" username="$ACR_USERNAME" password="$ACR_PASSWORD" \
    --mi-system-assigned

Kullanıcı tarafından atanan yönetilen kimliği kullanmak için, --mi-user-assigned bayrağıyla (veya --user-assigned diğer adıyla) kullanıcı tarafından atanan yönetilen kimliğin ID'sini belirtebilirsiniz.

Değişkeni, kullanmak istediğiniz kullanıcı tarafından atanan yönetilen kimliğin kaynak kimliğine UAMI_ID eklemeyi unutmayın.

export UAMI_ID=$(az identity show --name "$UAMI_NAME" --resource-group "$RESOURCE_GROUP" --query "id" -o tsv)

Azure CLI ile Kullanıcı Atamalı Yönetilen Kimlik (UAMI) kullanarak sanal makineyi oluşturun:

az networkcloud virtualmachine create \
    --name "$VM_NAME" \
    --resource-group "$RESOURCE_GROUP" \
    --subscription "$SUBSCRIPTION" \
    --extended-location name="$CUSTOM_LOCATION" type="CustomLocation" \
    --location "$LOCATION" \
    --admin-username "$ADMIN_USERNAME" \
    --csn "attached-network-id=$CSN_ARM_ID" \
    --cpu-cores $CPU_CORES \
    --memory-size $MEMORY_SIZE \
    --network-attachments '[{"attachedNetworkId":"'$L3_NETWORK_ID'","ipAllocationMethod":"Dynamic","defaultGateway":"True","networkAttachmentName":"'$NETWORK_INTERFACE_NAME'"}]'\
    --storage-profile create-option="Ephemeral" delete-option="Delete" disk-size="$VM_DISK_SIZE" \
    --vm-image "$VM_IMAGE" \
    --ssh-key-values "$SSH_PUBLIC_KEY" \
    --vm-image-repository-credentials registry-url="$ACR_URL" username="$ACR_USERNAME" password="$ACR_PASSWORD" \
    --mi-user-assigned "$UAMI_ID"

Birkaç dakika sonra komut tamamlanıp sanal makine hakkındaki bilgileri döndürür. Sanal makine artık kullanıma hazırdır.

Dağıtılmış kaynakları gözden geçir.

Dağıtım tamamlandıktan sonra CLI veya Azure portalını kullanarak kaynakları görüntüleyebilirsiniz.

Kaynak grubundaki kümenin myNexusVirtualMachinemyResourceGroup ayrıntılarını görüntülemek için aşağıdakileri yürütebilirsiniz

az networkcloud virtualmachine show --name myNexusVirtualMachine --resource-group myResourceGroup

Kaynakları temizle

Artık gerekli olmadığında kaynak grubunu silin. Kaynak grubu ve kaynak grubundaki tüm kaynaklar silinir.

Kaynak grubunu, sanal makineyi ve İşleç Nexus ağ kaynakları dışındaki tüm ilgili kaynakları kaldırmak için az group delete komutunu kullanın.

az group delete --name myResourceGroup --yes --no-wait

Sonraki Adımlar

Nexus sanal makinesi başarıyla oluşturuldu! Artık sanal ağ işlevlerini (VNFs) barındırmak için sanal makineyi kullanabilirsiniz.