Udostępnij przez


Szybki start: utwórz maszynę wirtualną Azure Operator Nexus przy użyciu Azure CLI

  • Wdróż maszynę wirtualną Azure Nexus używając Azure CLI

Ten przewodnik Szybki start ułatwia rozpoczęcie pracy z maszynami wirtualnymi Nexus w celu hostowania funkcji sieci wirtualnej (VNFs). Wykonując kroki opisane w tym przewodniku, możesz szybko i łatwo utworzyć niestandardową maszynę wirtualną Nexus spełniającą określone potrzeby i wymagania. Niezależnie od tego, czy jesteś początkującym, czy ekspertem w dziedzinie sieci Nexus, ten przewodnik jest tutaj, aby pomóc. Dowiesz się, co musisz wiedzieć, aby tworzyć i dostosowywać maszyny wirtualne Nexus do hostowania funkcji sieci wirtualnej.

Zanim rozpoczniesz

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

  • Zainstaluj najnowszą wersję niezbędnych rozszerzeń interfejsu wiersza polecenia platformy Azure.

  • Jeśli masz wiele subskrypcji platformy Azure, wybierz odpowiedni identyfikator subskrypcji, w którym zasoby mają być rozliczane przy użyciu az account polecenia .

  • Przed kontynuowaniem tworzenia maszyny wirtualnej upewnij się, że obraz kontenera do użycia jest tworzony zgodnie z instrukcjami.

  • Utwórz grupę zasobów przy użyciu polecenia az group create. Grupa zasobów platformy Azure to grupa logiczna, w której zasoby platformy Azure są wdrażane i zarządzane. Podczas tworzenia grupy zasobów zostanie wyświetlony monit o określenie lokalizacji. Ta lokalizacja to lokalizacja magazynu metadanych grupy zasobów i lokalizacja, w której zasoby są uruchamiane na platformie Azure, jeśli nie określisz innego regionu podczas tworzenia zasobów. W poniższym przykładzie tworzona jest grupa zasobów o nazwie myResourceGroup w lokalizacji eastus.

    az group create --name myResourceGroup --location eastus
    

    Poniższy przykład danych wyjściowych przypomina pomyślne utworzenie grupy zasobów:

    {
      "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
      "location": "eastus",
      "managedBy": null,
      "name": "myResourceGroup",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "tags": null
    }
    
  • Aby wdrożyć plik Bicep lub szablon usługi ARM, musisz posiadać uprawnienia do zapisu w zasobach, które wdrażasz, oraz dostęp do wszystkich operacji na typie zasobu Microsoft.Resources/deployments. Na przykład do wdrożenia klastra potrzebne są uprawnienia Microsoft.NetworkCloud/virtualMachines/write i Microsoft.Resources/deployments/*. Aby uzyskać listę ról i uprawnień, zobacz Role wbudowane platformy Azure.

  • Potrzebny jest identyfikator zasobu klastra Nexus operatora platformy custom location Azure.

  • Musisz utworzyć różne sieci zgodnie z określonymi wymaganiami dotyczącymi obciążenia i niezbędne jest posiadanie odpowiednich adresów IP dostępnych dla obciążeń. Aby zapewnić bezproblemową implementację, zaleca się skonsultowanie się z odpowiednimi zespołami pomocy technicznej w celu uzyskania pomocy.

Tworzenie maszyny wirtualnej Nexus

Poniższy przykład tworzy maszynę wirtualną o nazwie myNexusVirtualMachine w grupie zasobów myResourceGroup w lokalizacji eastus .

Przed uruchomieniem poleceń należy ustawić kilka zmiennych, aby zdefiniować konfigurację maszyny wirtualnej. Poniżej przedstawiono zmienne, które należy ustawić, wraz z niektórymi wartościami domyślnymi, których można użyć dla niektórych zmiennych:

Variable Description
LOKALIZACJA Region świadczenia usługi Azure, w którym chcesz utworzyć maszynę wirtualną.
Grupa Zasobów Nazwa grupy zasobów platformy Azure, w której chcesz utworzyć maszynę wirtualną.
SUBSKRYPCJA Identyfikator subskrypcji platformy Azure.
CUSTOM_LOCATION Ten argument określa niestandardową lokalizację wystąpienia Nexus.
CSN_ARM_ID Identyfikator zasobu ARM sieci usług chmurowych, z którą łączy się maszyna wirtualna.
L3_NETWORK_ID Identyfikator zasobu usługi ARM sieci L3, z którą łączy się maszyna wirtualna.
NETWORK_INTERFACE_NAME Nazwa interfejsu sieci L3 do przypisania.
Nazwa użytkownika administratora Nazwa użytkownika administratora maszyny wirtualnej.
SSH_PUBLIC_KEY Klucz publiczny SSH używany do bezpiecznej komunikacji z maszyną wirtualną.
rdzenie procesora Liczba rdzeni procesora CPU dla maszyny wirtualnej (liczba parzysta, maksymalna liczba procesorów wirtualnych 46)
ROZMIAR_PAMIĘCI Ilość pamięci (w giB, maksymalnie 224 GiB) dla maszyny wirtualnej.
VM_DISK_SIZE Rozmiar (w giB) dysku maszyny wirtualnej.
VM_IMAGE Adres URL obrazu maszyny wirtualnej.
ACR_URL Adres URL usługi Azure Container Registry (ACR).
ACR_USERNAME Nazwa użytkownika usługi Azure Container Registry.
ACR_PASSWORD Hasło usługi Azure Container Registry.
UAMI_ID Identyfikator zasobu tożsamości zarządzanej przypisanej przez użytkownika (jeśli jest używana tożsamość zarządzana przypisana przez użytkownika).

Ostrzeżenie

Dane użytkownika nie są szyfrowane, a żaden proces na maszynie wirtualnej może wykonywać zapytania dotyczące tych danych. Nie należy przechowywać poufnych informacji w danych użytkownika. Aby uzyskać więcej informacji, zobacz Najlepsze rozwiązania dotyczące zabezpieczeń i szyfrowania danych platformy Azure.

Po zdefiniowaniu zmiennych możesz utworzyć maszynę wirtualną, uruchamiając polecenie interfejsu wiersza polecenia platformy Azure. Aby udostępnić bardziej szczegółowe dane wyjściowe na potrzeby rozwiązywania problemów, dodaj flagę --debug na końcu.

Użyj następującego zestawu poleceń i zastąp przykładowe wartości preferowanymi wartościami. Możesz również użyć wartości domyślnych dla niektórych zmiennych, jak pokazano w poniższym przykładzie:

# 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>"

Ważne

Przed uruchomieniem tych poleceń niezbędne jest zastąpienie symboli zastępczych dla CUSTOM_LOCATION, CSN_ARM_ID, L3_NETWORK_ID i parametrów usługi ACR rzeczywistymi wartościami.

Po zdefiniowaniu tych zmiennych możesz utworzyć maszynę wirtualną, wykonując następujące polecenie interfejsu wiersza polecenia platformy Azure.

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"

Maszyny wirtualne z tożsamościami zarządzanymi

Utwórz maszynę wirtualną przy użyciu przypisanej przez system lub przypisanej przez użytkownika tożsamości zarządzanej. Aby dodać tożsamość zarządzaną do maszyny wirtualnej, wersja interfejsu API musi być 2025-07-01-preview lub nowsza.

Upewnij się, że networkcloud rozszerzenie jest zainstalowane z wersją, która obsługuje wymaganą wersję interfejsu API. Obsługiwane wersje można znaleźć w historii wersji rozszerzenia w witrynienetworkcloud GitHub.

Ważne

Jeśli nie określisz tożsamości zarządzanej podczas tworzenia maszyny wirtualnej, nie możesz włączyć obsługi tożsamości zarządzanej, aktualizując maszynę wirtualną po aprowizacji.

Aby włączyć tożsamość zarządzaną przypisaną przez system dla maszyny wirtualnej, pamiętaj o dołączeniu --mi-system-assigned flagi (lub aliasu --system-assigned).

Utwórz maszynę wirtualną z tożsamością zarządzaną przypisaną przez system (SAMI) za pomocą Azure CLI.

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

Aby użyć tożsamości zarządzanej przypisanej przez użytkownika, można określić identyfikator tożsamości zarządzanej przypisanej przez użytkownika z flagą --mi-user-assigned (lub aliasem --user-assigned).

Pamiętaj, aby uwzględnić zmienną UAMI_ID z identyfikatorem zasobu tożsamości zarządzanej przypisanej przez użytkownika, której chcesz użyć.

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

Utwórz maszynę wirtualną przy użyciu tożsamości zarządzanej przypisanej do użytkownika (UAMI) za pomocą interfejsu wiersza poleceń Azure CLI.

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"

Po kilku minutach polecenie się wykonuje i podaje informacje o maszynie wirtualnej. Maszyna wirtualna jest teraz gotowa do użycia.

Przeglądanie wdrożonych zasobów

Po zakończeniu wdrażania możesz wyświetlić zasoby przy użyciu interfejsu wiersza polecenia lub witryny Azure Portal.

Aby wyświetlić szczegóły klastra myNexusVirtualMachine w myResourceGroup grupie zasobów, wykonaj następujące czynności

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

Uprzątnij zasoby

Gdy grupa zasobów nie będzie już potrzebna, usuń grupę zasobów. Grupa zasobów i wszystkie zasoby w grupie zasobów zostaną usunięte.

Użyj polecenia az group delete , aby usunąć grupę zasobów, maszynę wirtualną i wszystkie powiązane zasoby z wyjątkiem zasobów sieciowych Operator Nexus.

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

Dalsze kroki

Maszyna wirtualna Nexus została pomyślnie utworzona! Teraz możesz użyć maszyny wirtualnej do hostowania funkcji sieci wirtualnej (VNFs).