Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
- Bereitstellen eines virtuellen Azure Nexus-Computers mit Bicep
Dieser Schnellstartleitfaden soll Ihnen bei den ersten Schritten bei der Verwendung von virtuellen Nexus-Computern zum Hosten von virtuellen Netzwerkfunktionen (VNFs) helfen. Indem Sie die in diesem Leitfaden beschriebenen Schritte ausführen, können Sie schnell und einfach einen angepassten virtuellen Nexus-Computer erstellen, der Ihren spezifischen Anforderungen und Anforderungen entspricht. Ganz gleich, ob Sie Anfänger oder Experte im Nexus-Netzwerk sind, dieser Leitfaden hilft Ihnen. Sie lernen alles, was Sie wissen müssen, um Nexus virtual machines für das Hosten virtueller Netzwerkfunktionen zu erstellen und anzupassen.
Bevor Sie anfangen
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter "Erste Schritte mit Azure Cloud Shell".
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen möchten, installieren Sie die Azure CLI. Wenn Sie mit Windows oder macOS arbeiten, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Um den Authentifizierungsprozess abzuschließen, führen Sie die schritte aus, die in Ihrem Terminal angezeigt werden. Weitere Anmeldeoptionen finden Sie unter Authentifizieren bei Azure mithilfe der Azure CLI.
Wenn Sie dazu aufgefordert werden, installieren Sie die Azure CLI-Erweiterung bei der ersten Verwendung. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden und Verwalten von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um auf die neueste Version zu aktualisieren.
Installieren Sie die neueste Version der erforderlichen Azure CLI-Erweiterungen.
Wenn Sie über mehrere Azure-Abonnements verfügen, wählen Sie die entsprechende Abonnement-ID aus, in der die Ressourcen mit dem
az accountBefehl in Rechnung gestellt werden sollen.Bevor Sie mit der Erstellung virtueller Computer fortfahren, stellen Sie sicher, dass das zu verwendende Containerimage gemäß den Anweisungen erstellt wird.
Erstellen Sie eine Ressourcengruppe mit dem Befehl
az group create. Eine Azure-Ressourcengruppe ist eine logische Gruppe, in der Azure-Ressourcen bereitgestellt und verwaltet werden. Wenn Sie eine Ressourcengruppe erstellen, werden Sie zur Angabe eines Speicherorts aufgefordert. An diesem Speicherort werden die Metadaten Ihrer Ressourcengruppe gespeichert. Darüber hinaus werden dort die Ressourcen in Azure ausgeführt, wenn Sie während der Ressourcenerstellung keine andere Region angeben. Das folgende Beispiel erstellt eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus.az group create --name myResourceGroup --location eastusDas folgende Ausgabebeispiel ähnelt der erfolgreichen Erstellung der Ressourcengruppe:
{ "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup", "location": "eastus", "managedBy": null, "name": "myResourceGroup", "properties": { "provisioningState": "Succeeded" }, "tags": null }Zum Bereitstellen einer Bicep-Datei oder ARM-Vorlage benötigen Sie Schreibzugriff auf die Ressourcen, die Sie bereitstellen, und Zugriff auf alle Vorgänge für den Ressourcentyp Microsoft.Resources/deployments. Um beispielsweise einen Cluster bereitzustellen, benötigen Sie Microsoft.NetworkCloud/virtualMachines/write und Microsoft.Resources/deployments/* Berechtigungen. Eine Liste der Rollen und Berechtigungen finden Sie in den integrierten Azure-Rollen.
Sie benötigen die
custom locationRessourcen-ID Ihres Azure Operator Nexus-Clusters.Sie müssen verschiedene Netzwerke entsprechend Ihren spezifischen Workloadanforderungen erstellen, und es ist wichtig, dass die entsprechenden IP-Adressen für Ihre Workloads verfügbar sind. Um eine reibungslose Implementierung sicherzustellen, empfiehlt es sich, die entsprechenden Supportteams zur Unterstützung zu konsultieren.
- Erfüllen Sie die Voraussetzungen für die Bereitstellung eines virtuellen Nexus-Computers.
Überprüfen der Vorlage
Bevor Sie die Vorlage für virtuelle Computer bereitstellen, überprüfen wir den Inhalt, um seine Struktur zu verstehen.
@description('The name of Nexus virtual machine')
param vmName string
@description('The Azure region where the VM is to be deployed')
param location string = resourceGroup().location
@description('The custom location of the Nexus instance')
param extendedLocation string
@description('The metadata tags to be associated with the cluster resource')
param tags object = {}
@description('The name of the administrator to which the ssh public keys will be added into the authorized keys.')
@minLength(1)
@maxLength(32)
param adminUsername string = 'azureuser'
@description('Selects the boot method for the virtual machine.')
@allowed([
'UEFI'
'BIOS'
])
param bootMethod string = 'UEFI'
@description('The Cloud Services Network attachment ARM ID to attach to virtual machine.')
param cloudServicesNetworkId string
@description('Number of CPU cores for the virtual machine. Choose a value between 2 and 46.')
param cpuCores int = 2
@description('The memory size of the virtual machine in GiB (max 224 GiB)')
param memorySizeGB int = 4
@description('The list of network attachments to the virtual machine.')
param networkAttachments array
// {
// attachedNetworkId: "string"
// defaultGateway: "True"/"False"
// ipAllocationMethod: "Dynamic"/"Static","Disabled"
// ipv4Address: "string"
// ipv6Address: "string"
// networkAttachmentName: "string"
// }
@description('The Base64 encoded cloud-init network data.')
param networkData string = ''
@description('The placement hints for the virtual machine.')
param placementHints array = []
// {
// hintType: "Affinity/AntiAffinity"
// resourceId: string
// schedulingExecution: "Hard/Soft"
// scope: "Rack/Machine"
// }
@description('The list of SSH public keys for the virtual machine.')
param sshPublicKeys array
// {
// keyData: 'string'
// }
@description('StorageProfile represents information about a disk.')
param storageProfile object = {
osDisk: {
createOption: 'Ephemeral'
deleteOption: 'Delete'
diskSizeGB: 64
}
}
@description('The Base64 encoded cloud-init user data.')
param userData string = ''
@description('The type of the device model to use.')
@allowed([
'T1'
'T2'
])
param vmDeviceModel string = 'T2'
@description('The virtual machine image that is currently provisioned to the OS disk, using the full URL and tag notation used to pull the image.')
param vmImage string
@description('Credentials used to login to the image repository.')
param vmImageRepositoryCredentials object = {}
// password: "string"
// registryUrl: "string"
// username: "string"
resource vm 'Microsoft.NetworkCloud/virtualMachines@2025-09-01' = {
name: vmName
location: location
extendedLocation: {
type: 'CustomLocation'
name: extendedLocation
}
tags: tags
properties: {
adminUsername: (empty(adminUsername) ? null : adminUsername)
bootMethod: (empty(bootMethod) ? null : bootMethod)
cloudServicesNetworkAttachment: {
attachedNetworkId: cloudServicesNetworkId
ipAllocationMethod: 'Dynamic'
}
cpuCores: cpuCores
memorySizeGB: memorySizeGB
networkData: (empty(networkData) ? null : networkData)
networkAttachments: (empty(networkAttachments) ? null : networkAttachments)
placementHints: (empty(placementHints) ? null : placementHints)
sshPublicKeys: (empty(sshPublicKeys) ? null : sshPublicKeys)
storageProfile: (empty(storageProfile) ? null : storageProfile)
userData: (empty(userData) ? null : userData)
vmDeviceModel: (empty(vmDeviceModel) ? null : vmDeviceModel)
vmImage: (empty(vmImage) ? null : vmImage)
vmImageRepositoryCredentials: (empty(vmImageRepositoryCredentials) ? null : vmImageRepositoryCredentials)
}
}
Warnung
Benutzerdaten werden nicht verschlüsselt, und jeder Prozess auf dem virtuellen Computer kann diese Daten abfragen. Vertrauliche Informationen sollten nicht in Benutzerdaten gespeichert werden. Weitere Informationen finden Sie unter Bewährte Methoden für Azure-Datensicherheit und -Verschlüsselung.
Überprüfen und speichern Sie die Vorlagendatei namens virtual-machine-bicep-file.bicep, fahren Sie dann mit dem nächsten Abschnitt fort, und stellen Sie die Vorlage bereit.
Virtuelle Computer mit verwalteten Identitäten
Erstellen Sie den virtuellen Computer mit einer vom System zugewiesenen oder einer vom Benutzer zugewiesenen verwalteten Identität.
Um der VM eine verwaltete Identität hinzuzufügen, muss die API-Version 2025-07-01-preview oder höher sein.
Das apiVersion kann mit 2025-07-01-preview, 2025-09-01 oder einer beliebigen zukünftigen Version der API befüllt werden.
Von Bedeutung
Wenn Sie beim Erstellen des virtuellen Computers keine verwaltete Identität angeben, können Sie die Unterstützung für verwaltete Identitäten nicht aktivieren, indem Sie die VM nach der Bereitstellung aktualisieren.
Stellen Sie sicher, dass Sie die Ressourcenversion für die Ressource des virtuellen Computers in der virtual-machine-bicep-file.bicep Datei aktualisieren.
Fügen Sie den identity Abschnitt mit type auf SystemAssigned zur Bicep-Datei hinzu.
resource vm 'Microsoft.NetworkCloud/virtualMachines@2025-09-01' = {
name: vmName
...
properties: {
...
identity: {
type: "SystemAssigned"
}
}
}
Für vom Benutzer zugewiesene verwaltete Identität muss die Ressource erstellt werden, bevor sie dem virtuellen Computer zugewiesen werden kann.
Aktualisieren Sie die Bicep-Datei mit dem identity-Abschnitt, der auf UserAssigned festgelegt ist, und fügen Sie die userAssignedIdentities-Eigenschaft mit der Ressourcen-ID der vom Benutzer zugewiesenen verwalteten Identität ein.
resource vm 'Microsoft.NetworkCloud/virtualMachines@2025-09-01' = {
name: vmName
...
properties: {
...
identity: {
type: "UserAssigned",
userAssignedIdentities: {
"/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}": {}
}
}
}
}
Implementieren der Vorlage
- Erstellen Sie eine Datei namens
virtual-machine-parameters.json, und fügen Sie die erforderlichen Parameter im JSON-Format hinzu. Sie können das folgende Beispiel als Ausgangspunkt verwenden. Ersetzen Sie die Werte durch Ihre eigenen.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "myNexusVirtualMachine"
},
"location": {
"value": "eastus"
},
"extendedLocation": {
"value": "/subscriptions/<subscription>/resourcegroups/<cluster-managed-resource-group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
},
"cloudServicesNetworkId": {
"value": "/subscriptions/<subscription>/resourceGroups/<network-resource-group>/providers/Microsoft.NetworkCloud/cloudServicesNetworks/<csn-name>"
},
"networkAttachments": {
"value": [
{
"attachedNetworkId": "/subscriptions/<subscription>/resourceGroups/<network-resource-group>/providers/Microsoft.NetworkCloud/l3Networks/<l3network-name>",
"ipAllocationMethod": "Dynamic",
"defaultGateway": "True",
"networkAttachmentName": "mgmt0"
}
]
},
"sshPublicKeys": {
"value": [
{
"keyData": "ssh-rsa AAAAB3...."
}
]
},
"vmImage": {
"value": "<Image ACR URL>"
},
"vmImageRepositoryCredentials": {
"value": {
"password": "********************",
"registryUrl": "<ACR registry URL>",
"username": "<ACR user name>"
}
}
}
}
- Stellen Sie die Vorlage bereit.
az deployment group create \
--resource-group myResourceGroup
--template-file virtual-machine-bicep-file.bicep
--parameters @virtual-machine-parameters.json
Überprüfen der bereitgestellten Ressourcen
az deployment group show --resource-group myResourceGroup --name <deployment-name>
Nach Abschluss der Bereitstellung können Sie die Ressourcen mithilfe der CLI oder des Azure-Portals anzeigen.
Um die Details des myNexusVirtualMachine Clusters in der myResourceGroup Ressourcengruppe anzuzeigen, führen Sie Folgendes aus:
az networkcloud virtualmachine show --name myNexusVirtualMachine --resource-group myResourceGroup
Bereinigen von Ressourcen
Wenn sie nicht mehr benötigt wird, löschen Sie die Ressourcengruppe. Die Ressourcengruppe und alle Ressourcen in der Ressourcengruppe werden gelöscht.
Verwenden Sie den Befehl " az group delete ", um die Ressourcengruppe, den virtuellen Computer und alle zugehörigen Ressourcen außer den Operator Nexus-Netzwerkressourcen zu entfernen.
az group delete --name myResourceGroup --yes --no-wait
Nächste Schritte
Der virtuelle Nexus-Computer wird erfolgreich erstellt! Sie können nun den virtuellen Computer verwenden, um virtuelle Netzwerkfunktionen (Virtual Network Functions, VNFs) zu hosten.