Bereitstellen von VMs auf Ihrem Azure Stack Edge-Gerät über Azure PowerShell
GILT FÜR:Azure Stack Edge Pro – GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
In diesem Artikel wird beschrieben, wie Sie eine einen virtuellen Computer (Virtual Machine, VM) mithilfe von Azure PowerShell auf Ihrem Azure Stack Edge-Gerät erstellen und verwalten können.
VM-Bereitstellungsworkflow
Nachfolgend sind die wichtigsten Schritte des VM-Bereitstellungsworkflows aufgeführt:
- Stellen Sie eine Verbindung mit der lokalen Azure Resource Manager-Instanz auf Ihrem Gerät her.
- Ermitteln Sie das integrierte Abonnement auf dem Gerät.
- Stellen Sie Ihr VM-Image bereit.
- Erstellen Sie eine Ressourcengruppe im integrierten Abonnement. Die Ressourcengruppe enthält den virtuellen Computer und alle zugehörigen Ressourcen.
- Erstellen Sie ein lokales Speicherkonto auf dem Gerät, um die VHD zu speichern, die zum Erstellen eines VM-Images verwendet wird.
- Laden Sie ein Windows/Linux-Quellimage in das Speicherkonto hoch, um einen verwalteten Datenträger zu erstellen.
- Verwenden Sie den verwalteten Datenträger, um ein VM-Image zu erstellen.
- Aktivieren Sie Compute an einem Geräteport, um einen virtuellen Switch zu erstellen.
- Dadurch wird ein virtuelles Netzwerk mit dem virtuellen Switch erstellt, der an den Port angefügt ist, an dem Sie Compute aktiviert haben.
- Erstellen Sie eine VM mithilfe des zuvor erstellten VM-Images, des virtuellen Netzwerks und der virtuellen Netzwerkschnittstellen, um innerhalb des virtuellen Netzwerks zu kommunizieren, und weisen Sie eine öffentliche IP-Adresse für den Remotezugriff auf die VM zu. Schließen Sie optional Datenträger ein, um mehr Speicher für Ihre VM bereitzustellen.
Voraussetzungen
Bevor Sie virtuelle Computer auf Ihrem Azure Stack Edge-Gerät bereitstellen können, müssen Sie den Client so konfigurieren, dass er über Azure Resource Manager über Azure PowerShell eine Verbindung mit dem Gerät herstellt. Eine ausführliche Anleitung finden Sie unter Herstellen einer Verbindung mit Azure Resource Manager auf Ihrem Azure Stack Edge-Gerät.
Stellen Sie sicher, dass Sie mit den folgenden Schritten von Ihrem Client aus auf das Gerät zugreifen können. Sie haben diese Konfiguration bereits ausgeführt, als Sie eine Verbindung mit Azure Resource Manager hergestellt haben, und jetzt überprüfen Sie, ob die Konfiguration erfolgreich war.
Vergewissern Sie sich, dass die Kommunikation mit Azure Resource Manager funktioniert, indem Sie den folgenden Befehl ausführen:
Geben Sie Folgendes ein, um die Authentifizierungs-APIs des lokalen Geräts aufzurufen:
Wenn Sie Compute für Kubernetes konfiguriert haben, können Sie diesen Schritt überspringen. Stellen Sie andernfalls sicher, dass Sie eine Netzwerkschnittstelle für Compute aktiviert haben. Gehen Sie hierzu wie folgt vor:
a. Wechseln Sie auf der lokalen Benutzeroberfläche zu den Einstellungen für Compute.
b. Wählen Sie die Netzwerkschnittstelle aus, die Sie verwenden möchten, um einen virtuellen Switch zu erstellen. Die von Ihnen erstellten virtuellen Computer werden an einen virtuellen Switch angefügt, der an diesen Port und das zugehörige Netzwerk angefügt ist. Achten Sie darauf, ein Netzwerk auszuwählen, das mit der IP-Adresse übereinstimmt, die Sie für den virtuellen Computer verwenden werden.c. Wählen Sie für die Netzwerkschnittstelle unter Für Compute aktivieren die Option Ja aus. Azure Stack Edge erstellt und verwaltet einen virtuellen Switch, der dieser Netzwerkschnittstelle entspricht. Geben Sie zu diesem Zeitpunkt keine bestimmten IP-Adressen für Kubernetes ein. Die Aktivierung von Compute kann mehrere Minuten dauern.
Hinweis
Wählen Sie beim Erstellen von GPU-VMs eine Netzwerkschnittstelle aus, die mit dem Internet verbunden ist. So können Sie die GPU-Erweiterung auf Ihrem Gerät installieren.
Abfrage für ein integriertes Abonnement auf dem Gerät
Bei Azure Resource Manager wird nur ein einziges für Benutzer sichtbares festes Abonnement unterstützt. Dieses Abonnement ist pro Gerät eindeutig. Der Abonnementname und die Abonnement-ID können nicht geändert werden.
Das Abonnement enthält alle Ressourcen, die für eine VM-Erstellung erforderlich sind.
Wichtig
Das Abonnement wird erstellt, wenn Sie VMs im Azure-Portal aktivieren, und es befindet sich lokal auf Ihrem Gerät.
Das Abonnement wird zur Bereitstellung der VMs verwendet.
Führen Sie den folgenden Befehl zum Auflisten des Abonnements aus:
Get-AzSubscription
Hier ist eine Beispielausgabe angegeben:
PS C:\WINDOWS\system32> Get-AzSubscription Name Id TenantId ---- -- -------- Default Provider Subscription ... ... PS C:\WINDOWS\system32>
Rufen Sie eine Liste der registrierten Ressourcenanbieter ab, die auf dem Gerät ausgeführt werden. Die Liste enthält normalerweise Compute, Netzwerk und Speicher.
Get-AzResourceProvider
Hinweis
Die Ressourcenanbieter wurden vorab registriert, und sie können nicht bearbeitet oder geändert werden.
Hier ist eine Beispielausgabe angegeben:
PS C:\WINDOWS\system32> Get-AzResourceProvider ProviderNamespace : Microsoft.AzureBridge RegistrationState : Registered ResourceTypes : {locations, operations, locations/ingestionJobs} Locations : {DBELocal} ProviderNamespace : Microsoft.Compute RegistrationState : Registered ResourceTypes : {virtualMachines, virtualMachines/extensions, locations, operations...} Locations : {DBELocal} ProviderNamespace : Microsoft.Network RegistrationState : Registered ResourceTypes : {operations, locations, locations/operations, locations/usages...} Locations : {DBELocal} ProviderNamespace : Microsoft.Resources RegistrationState : Registered ResourceTypes : {tenants, locations, providers, checkresourcename...} Locations : {DBELocal} ProviderNamespace : Microsoft.Storage RegistrationState : Registered ResourceTypes : {storageaccounts, storageAccounts/blobServices, storageAccounts/tableServices, storageAccounts/queueServices...} Locations : {DBELocal} PS C:\WINDOWS\system32>
Erstellen einer Ressourcengruppe
Erstellen Sie zunächst eine neue Azure-Ressourcengruppe, und verwenden Sie diese als logischen Container für alle VM-bezogenen Ressourcen wie Speicherkonto, Datenträger, Netzwerkschnittstelle und verwalteten Datenträger.
Wichtig
Alle Ressourcen werden im Speicherort des Geräts erstellt, der auf DBELocal festgelegt wird.
Legen Sie einige Parameter fest.
$ResourceGroupName = "<Resource group name>"
Erstellen Sie eine Ressourcengruppe für die Ressourcen, die Sie für die VM erstellen.
New-AzResourceGroup -Name $ResourceGroupName -Location DBELocal
Hier ist eine Beispielausgabe angegeben:
PS C:\WINDOWS\system32> New-AzResourceGroup -Name myaseazrg -Location DBELocal ResourceGroupName : myaseazrg Location : dbelocal ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/.../resourceGroups/myaseazrg PS C:\WINDOWS\system32>
Erstellen eines lokalen Speicherkontos
Erstellen Sie ein neues lokales Speicherkonto mithilfe einer vorhandenen Ressourcengruppe. Verwenden Sie dieses lokale Speicherkonto, um das Image des virtuellen Datenträgers beim Erstellen einer VM hochzuladen.
Bevor Sie ein lokales Speicherkonto erstellen, müssen Sie den Client so konfigurieren, dass er über Azure Resource Manager und Azure PowerShell eine Verbindung mit dem Gerät herstellt. Eine ausführliche Anleitung finden Sie unter Herstellen einer Verbindung mit Azure Resource Manager auf Ihrem Azure Stack Edge-Gerät.
Legen Sie einige Parameter fest.
$StorageAccountName = "<Storage account name>"
Erstellen Sie ein neues lokales Speicherkonto auf Ihrem Gerät.
New-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $ResourceGroupName -Location DBELocal -SkuName Standard_LRS
Hinweis
Mithilfe von Azure Resource Manager können Sie nur lokale Speicherkonten erstellen, beispielsweise lokal redundanten Speicher (Standard oder Premium). Informationen zum Erstellen von mehrstufigen Speicherkonten finden Sie im Tutorial: Übertragen von Daten über Speicherkonten mit Azure Stack Edge Pro mit GPU.
Hier ist eine Beispielausgabe:
PS C:\WINDOWS\system32> New-AzStorageAccount -Name myaseazsa -ResourceGroupName myaseazrg -Location DBELocal -SkuName Standard_LRS StorageAccountName ResourceGroupName PrimaryLocation SkuName Kind AccessTier CreationTime ------------------ ----------------- --------------- ------- ---- ---------- ------------ myaseazsa myaseazrg DBELocal Standard_LRS Storage 6/10/2021 11:45... PS C:\WINDOWS\system32>
Um die Zugriffsschlüssel für ein vorhandenes (von Ihnen erstelltes) lokales Speicherkonto abzurufen, geben Sie den zugeordneten Ressourcengruppennamen und den Namen des lokalen Speicherkontos an.
Get-AzStorageAccountKey
Hier ist eine Beispielausgabe:
PS C:\WINDOWS\system32> Get-AzStorageAccountKey
cmdlet Get-AzStorageAccountKey at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
ResourceGroupName: myaseazrg
Name: myaseazsa
KeyName Value Permissions
------- ----- ------
key1 gv3OF57tuPDyzBNc1M7fhil2UAiiwnhTT6zgiwE3TlF/CD217Cvw2YCPcrKF47joNKRvzp44leUe5HtVkGx8RQ== Full
key2 kmEynIs3xnpmSxWbU41h5a7DZD7v4gGV3yXa2NbPbmhrPt10+QmE5PkOxxypeSqbqzd9si+ArNvbsqIRuLH2Lw== Full
PS C:\WINDOWS\system32>
Hinzufügen des Blob-URI zur Hostdatei
Sie haben den Blob-URI bereits im Schritt Ändern der Hostdatei für die Endpunktnamensauflösung unter Herstellen einer Verbindung mit Azure Resource Manager auf Ihrem Azure Stack Edge Pro-Gerät in der Hostdatei für den Client hinzugefügt, den Sie für die Verbindung mit Azure Blob Storage verwenden. Dieser Eintrag wurde verwendet, um den BLOB-URI hinzuzufügen:
<Device IP address>
<storage name>.blob.<appliance name>.<dnsdomain>
Installieren von Zertifikaten
Wenn Sie HTTPS verwenden, müssen Sie die erforderlichen Zertifikate auf Ihrem Gerät installieren. Hier installieren Sie das Blobendpunktzertifikat. Weitere Informationen finden Sie unter Verwenden von Zertifikaten bei Ihrem Azure Stack Edge Pro mit GPU-Gerät.
Hochladen einer VHD-Datei
Kopieren Sie die zu verwendenden Datenträgerimages in Seitenblobs in dem lokalen Speicherkonto, das Sie vorher erstellt haben. Sie können ein Tool wie AzCopy zum Hochladen der virtuellen Festplatte (Virtual Hard Disk, VHD) in das Speicherkonto verwenden.
Verwenden Sie mit AzCopy 10 die folgenden Befehle:
Legen Sie einige Parameter fest (u. a. die geeignete Version der APIs für AzCopy). In diesem Beispiel wurde AzCopy 10 verwendet.
$Env:AZCOPY_DEFAULT_SERVICE_API_VERSION="2019-07-07" $ContainerName = <Container name> $ResourceGroupName = <Resource group name> $StorageAccountName = <Storage account name> $VHDPath = "Full VHD Path" $VHDFile = <VHD file name>
Kopieren Sie die VHD aus der Quelle (in diesem Fall das lokale System) in das Speicherkonto, das Sie im vorherigen Schritt auf Ihrem Gerät erstellt haben.
$StorageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName)[0].Value $blobendpoint = (Get-AzEnvironment -Name Environment Name).StorageEndpointSuffix $StorageAccountContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey -Endpoint $blobendpoint <Create the container if it does not exist> $containerName = "con1" $container = New-AzStorageContainer -Name $containerName -Context $StorageAccountContext -Permission Container $StorageAccountSAS = New-AzStorageAccountSASToken -Service Blob -ResourceType Container,Service,Object -Permission "acdlrw" -Context $StorageAccountContext -Protocol HttpsOnly $endPoint = (Get-AzStorageAccount -name $StorageAccountName -ResourceGroupName $ResourceGroupName).PrimaryEndpoints.Blob <Path to azcopy.exe> cp "$VHDPath\$VHDFile" "$endPoint$ContainerName$StorageAccountSAS"
Hier ist eine Beispielausgabe:
PS C:\windows\system32> $ContainerName = "testcontainer1" PS C:\windows\system32> $ResourceGroupName = "myaseazrg" PS C:\windows\system32> $StorageAccountName = "myaseazsa" PS C:\windows\system32> $VHDPath = "C:\Users\alkohli\Downloads\Ubuntu1604" PS C:\windows\system32> $VHDFile = "ubuntu13.vhd" PS C:\windows\system32> $StorageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName)[0].Value PS C:\windows\system32> $endPoint = (Get-AzStorageAccount -name $StorageAccountName -ResourceGroupName $ResourceGroupName).PrimaryEndpoints.Blob PS C:\windows\system32> $StorageAccountContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey -Endpoint $endpoint PS C:\windows\system32> $StorageAccountSAS = New-AzStorageAccountSASToken -Service Blob -ResourceType Container,Service,Object -Permission "acdlrw" -Context $StorageAccountContext -Protocol HttpsOnly PS C:\windows\system32> C:\azcopy\azcopy_windows_amd64_10.10.0\azcopy.exe cp "$VHDPath\$VHDFile" "$endPoint$ContainerName$StorageAccountSAS" INFO: Scanning... INFO: Any empty folders will not be processed, because source and/or destination doesn't have full folder support Job 72a5e3dd-9210-3e43-6691-6bebd4875760 has started Log file is located at: C:\Users\alkohli\.azcopy\72a5e3dd-9210-3e43-6691-6bebd4875760.log INFO: azcopy.exe: A newer version 10.11.0 is available to download
Erstellen verwalteter Datenträger aus der VHD
Erstellen Sie einen verwalteten Datenträger aus der hochgeladenen VHD.
Legen Sie einige Parameter fest.
$DiskName = "<Managed disk name>" $HyperVGeneration = "<Generation of the image: V1 or V2>"
Erstellen Sie einen verwalteten Datenträger aus der hochgeladenen VHD. Um die Quell-URL für Ihre VHD abzurufen, wechseln Sie zu dem Container im Speicherkonto, der die VHD im Storage-Explorer enthält. Klicken Sie mit der rechten Maustaste auf die VHD, und wählen Sie Eigenschaften aus. Wählen Sie im Dialogfeld Blobeigenschaften den URI aus.
$StorageAccountId = (Get-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName).Id $DiskConfig = New-AzDiskConfig -Location DBELocal -HyperVGeneration $HyperVGeneration -StorageAccountId $StorageAccountId -CreateOption Import -SourceUri "Source URL for your VHD" New-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $DiskName -Disk $DiskConfig
Hier ist eine Beispielausgabe:
PS C:\WINDOWS\system32> $DiskName = "myazmd" PS C:\WINDOWS\system32 $HyperVGeneration = "V1" PS C:\WINDOWS\system32> $StorageAccountId = (Get-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName).Id PS C:\WINDOWS\system32> $DiskConfig = New-AzDiskConfig -Location DBELocal -HyperVGeneration $HyperVGeneration -StorageAccountId $StorageAccountId -CreateOption Import -SourceUri "https://myaseazsa.blob.myasegpu.wdshcsso.com/testcontainer1/ubuntu13.vhd" PS C:\WINDOWS\system32> New-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $DiskName -Disk $DiskConfig ResourceGroupName : myaseazrg ManagedBy : Sku : Microsoft.Azure.Management.Compute.Models.DiskSku Zones : TimeCreated : 6/24/2021 12:19:56 PM OsType : HyperVGeneration : V1 CreationData : Microsoft.Azure.Management.Compute.Models.CreationDat a DiskSizeGB : 30 DiskSizeBytes : 32212254720 UniqueId : 53743801-cbf2-4d2f-acb4-971d037a9395 EncryptionSettingsCollection : ProvisioningState : Succeeded DiskIOPSReadWrite : 500 DiskMBpsReadWrite : 60 DiskState : Unattached Encryption : Microsoft.Azure.Management.Compute.Models.Encryption Id : /subscriptions/.../r esourceGroups/myaseazrg/providers/Microsoft.Compute/d isks/myazmd Name : myazmd Type : Microsoft.Compute/disks Location : DBELocal Tags : {} PS C:\WINDOWS\system32>
Erstellen eines VM-Images aus dem verwalteten Datenträger
Sie erstellen nun ein VM-Image aus dem verwalteten Datenträger.
Legen Sie einige Parameter fest.
$DiskSize = "<Size greater than or equal to size of source managed disk>" $OsType = "<linux or windows>" $ImageName = "<Image name>"
Erstellen Sie ein VM-Image. Die unterstützten Betriebssystemtypen sind Linux und Windows.
$imageConfig = New-AzImageConfig -Location DBELocal -HyperVGeneration $hyperVGeneration $ManagedDiskId = (Get-AzDisk -Name $DiskName -ResourceGroupName $ResourceGroupName).Id Set-AzImageOsDisk -Image $imageConfig -OsType $OsType -OsState 'Generalized' -DiskSizeGB $DiskSize -ManagedDiskId $ManagedDiskId New-AzImage -Image $imageConfig -ImageName $ImageName -ResourceGroupName $ResourceGroupName
Hier ist eine Beispielausgabe:
PS C:\WINDOWS\system32> $OsType = "linux" PS C:\WINDOWS\system32> $ImageName = "myaseazlinuxvmimage" PS C:\WINDOWS\system32> $DiskSize = 35 PS C:\WINDOWS\system32> $imageConfig = New-AzImageConfig -Location DBELocal PS C:\WINDOWS\system32> $ManagedDiskId = (Get-AzDisk -Name $DiskName -ResourceGroupName $ResourceGroupName).Id PS C:\WINDOWS\system32> Set-AzImageOsDisk -Image $imageConfig -OsType $OsType -OsState 'Generalized' -DiskSizeGB $DiskSize -ManagedDiskId $ManagedDiskId ResourceGroupName : SourceVirtualMachine : StorageProfile : Microsoft.Azure.Management.Compute.Models.ImageStorageProfile ProvisioningState : HyperVGeneration : V1 Id : Name : Type : Location : DBELocal Tags : PS C:\WINDOWS\system32> New-AzImage -Image $imageConfig -ImageName $ImageName -ResourceGroupName $ResourceGroupName ResourceGroupName : myaseazrg SourceVirtualMachine : StorageProfile : Microsoft.Azure.Management.Compute.Models.ImageStorageProfile ProvisioningState : Succeeded HyperVGeneration : V1 Id : /subscriptions/.../resourceG roups/myaseazrg/providers/Microsoft.Compute/images/myaseazlin uxvmimage Name : myaseazlinuxvmimage Type : Microsoft.Compute/images Location : dbelocal Tags : {} PS C:\WINDOWS\system32>
Erstellen Ihres virtuellen Computers mit zuvor erstellten Ressourcen
Bevor Sie den virtuellen Computer erstellen und bereitstellen, müssen Sie ein einziges virtuelles Netzwerk erstellen und ihm eine virtuelle Netzwerkschnittstelle zuordnen.
Wichtig
Es gelten die folgenden Regeln:
- Sie können nur ein einziges virtuelles Netzwerk erstellen, sogar über Ressourcengruppen hinweg. Das virtuelle Netzwerk muss genau denselben Adressraum wie das logische Netzwerk haben.
- Das virtuelle Netzwerk kann nur ein einzelnes Subnetz enthalten. Das Subnetz muss genau denselben Adressraum wie das virtuelle Netzwerk haben.
- Wenn Sie die virtuelle Netzwerkschnittstellenkarte erstellen, können Sie nur die statische Zuordnungsmethode verwenden. Der Benutzer muss eine private IP-Adresse angeben.
Abfragen des automatisch erstellten virtuellen Netzwerks
Wenn Sie Compute über die lokale Benutzeroberfläche Ihres Geräts aktivieren, wird in der Ressourcengruppe ASERG
das virtuelle Netzwerk ASEVNET
automatisch erstellt.
Fragen Sie mit dem folgenden Befehl das vorhandene virtuelle Netzwerk ab:
$ArmVn = Get-AzVirtualNetwork -Name ASEVNET -ResourceGroupName ASERG
Erstellen einer virtuellen Netzwerkadapterkarte
Sie erstellen eine virtuelle Netzwerkschnittstellenkarte mithilfe der Subnetz-ID des virtuellen Netzwerks.
Legen Sie einige Parameter fest.
$IpConfigName = "<IP config name>" $NicName = "<Network interface name>"
Erstellen Sie eine virtuelle Netzwerkschnittstelle.
$ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id $Nic = New-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName -Location DBELocal -IpConfiguration $IpConfig
Standardmäßig wird Ihrer Netzwerkschnittstelle über das für Compute aktivierte Netzwerk dynamisch eine IP-Adresse zugewiesen. Verwenden Sie den
-PrivateIpAddress parameter
, wenn Sie Ihrer Netzwerkschnittstelle eine statische IP-Adresse zuordnen.Hier ist eine Beispielausgabe:
PS C:\WINDOWS\system32> $IpConfigName = "myazipconfig1" PS C:\WINDOWS\system32> $NicName = "myaznic1" PS C:\WINDOWS\system32> $ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id PS C:\WINDOWS\system32> $ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id PS C:\WINDOWS\system32> $Nic = New-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName -Location DBELocal -IpConfiguration $IpConfig PS C:\WINDOWS\system32> $Nic Name : myaznic1 ResourceGroupName : myaseazrg Location : dbelocal Id : /subscriptions/.../re sourceGroups/myaseazrg/providers/Microsoft.Network/net workInterfaces/myaznic1 Etag : W/"0b20057b-2102-4f34-958b-656327c0fb1d" ResourceGuid : e7d4131f-6f01-4492-9d4c-a8ff1af7244f ProvisioningState : Succeeded Tags : VirtualMachine : null IpConfigurations : [ { "Name": "myazipconfig1", "Etag": "W/\"0b20057b-2102-4f34-958b-656327c0fb1d\"", "Id": "/subscriptions/.../resourceGroups/myaseazrg/providers/Microsoft. Network/networkInterfaces/myaznic1/ipConfigurations/my azipconfig1", "PrivateIpAddress": "10.126.76.60", "PrivateIpAllocationMethod": "Dynamic", "Subnet": { "Delegations": [], "Id": "/subscriptions/.../resourceGroups/ASERG/providers/Microsoft.Ne twork/virtualNetworks/ASEVNET/subnets/ASEVNETsubNet", "ServiceAssociationLinks": [] }, "ProvisioningState": "Succeeded", "PrivateIpAddressVersion": "IPv4", "LoadBalancerBackendAddressPools": [], "LoadBalancerInboundNatRules": [], "Primary": true, "ApplicationGatewayBackendAddressPools": [], "ApplicationSecurityGroups": [] } ] DnsSettings : { "DnsServers": [], "AppliedDnsServers": [], "InternalDomainNameSuffix": "auwlfcx0dhxurjgisct43fc ywb.a--x.internal.cloudapp.net" } EnableIPForwarding : False EnableAcceleratedNetworking : False NetworkSecurityGroup : null Primary : MacAddress : 001DD84A58D1 PS C:\WINDOWS\system32>
Optional können Sie beim Erstellen einer virtuellen Netzwerkschnittstellenkarte für eine VM die öffentliche IP-Adresse übergeben. In dieser Instanz gibt die öffentliche IP-Adresse die private IP-Adresse zurück.
New-AzPublicIPAddress -Name <Public IP> -ResourceGroupName <ResourceGroupName> -AllocationMethod Static -Location DBELocal
$publicIP = (Get-AzPublicIPAddress -Name <Public IP> -ResourceGroupName <Resource group name>).Id
$ipConfig = New-AzNetworkInterfaceIpConfig -Name <ConfigName> -PublicIpAddressId $publicIP -SubnetId $subNetId
Erstellen eines virtuellen Computers (VM)
Sie können jetzt das VM-Image verwenden, um einen virtuellen Computer zu erstellen und dem zuvor erstellten virtuellen Netzwerk anzufügen.
Legen Sie den Benutzernamen und das Kennwort für die Anmeldung bei dem virtuellen Computer fest, den Sie erstellen möchten.
$pass = ConvertTo-SecureString "<Password>" -AsPlainText -Force; $cred = New-Object System.Management.Automation.PSCredential("<Enter username>", $pass)
Nachdem Sie die VM erstellt und eingeschaltet haben, verwenden Sie den vorstehenden Benutzernamen und das zugehörige Kennwort, um sich bei der VM anzumelden.
Legen Sie die Parameter fest.
$VmName = "<VM name>" $ComputerName = "<VM display name>" $OsDiskName = "<OS disk name>"
Erstellen Sie den virtuellen Computer.
$VirtualMachine = New-AzVMConfig -VmName $VmName -VMSize "Standard_D1_v2" $VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Linux -ComputerName $ComputerName -Credential $cred $VirtualMachine = Set-AzVmOsDisk -VM $VirtualMachine -Name $OsDiskName -Caching "ReadWrite" -CreateOption "FromImage" -Linux -StorageAccountType Standard_LRS $nicID = (Get-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName).Id $VirtualMachine = Add-AzVMNetworkInterface -Vm $VirtualMachine -Id $nicID $image = ( Get-AzImage -ResourceGroupName $ResourceGroupName -ImageName $ImageName).Id $VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -Id $image New-AzVM -ResourceGroupName $ResourceGroupName -Location DBELocal -VM $VirtualMachine -Verbose
Hier ist eine Beispielausgabe:
PS C:\WINDOWS\system32> $pass = ConvertTo-SecureString "Password1" -AsPlainText -Force; PS C:\WINDOWS\system32> $cred = New-Object System.Management.Automation.PSCredential("myazuser", $pass) PS C:\WINDOWS\system32> $VmName = "myazvm" >> $ComputerName = "myazvmfriendlyname" >> $OsDiskName = "myazosdisk1" PS C:\WINDOWS\system32> $VirtualMachine = New-AzVMConfig -VmName $VmName -VMSize "Standard_D1_v2" PS C:\WINDOWS\system32> $VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Linux -ComputerName $ComputerName -Credential $cred PS C:\WINDOWS\system32> $VirtualMachine = Set-AzVmOsDisk -VM $VirtualMachine -Name $OsDiskName -Caching "ReadWrite" -CreateOption "FromImage" -Linux -StorageAccountType Standard_LRS PS C:\WINDOWS\system32> $nicID = (Get-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName).Id PS C:\WINDOWS\system32> $nicID/subscriptions/.../resourceGroups/myaseazrg/providers/Microsoft.Network/networkInterfaces/myaznic1 PS C:\WINDOWS\system32> $VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $nicID PS C:\WINDOWS\system32> $image = ( Get-AzImage -ResourceGroupName $ResourceGroupName -ImageName $ImageName).Id PS C:\WINDOWS\system32> $VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -Id $image PS C:\WINDOWS\system32> New-AzVM -ResourceGroupName $ResourceGroupName -Location DBELocal -VM $VirtualMachine -Verbose WARNING: Since the VM is created using premium storage or managed disk, existing standard storage account, myaseazsa, is used for boot diagnostics. VERBOSE: Performing the operation "New" on target "myazvm". RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
Fragen Sie die erstellte virtuelle Netzwerkschnittstelle ab, um die IP-Adresse zu ermitteln, die dem erstellten virtuellen Computer zugewiesen ist. Suchen Sie nach
PrivateIPAddress
, und kopieren Sie die IP für Ihre VM. Hier ist eine Beispielausgabe:PS C:\WINDOWS\system32> $Nic Name : myaznic1 ResourceGroupName : myaseazrg Location : dbelocal Id : /subscriptions/.../re sourceGroups/myaseazrg/providers/Microsoft.Network/net workInterfaces/myaznic1 Etag : W/"0b20057b-2102-4f34-958b-656327c0fb1d" ResourceGuid : e7d4131f-6f01-4492-9d4c-a8ff1af7244f ProvisioningState : Succeeded Tags : VirtualMachine : null IpConfigurations : [ { "Name": "myazipconfig1", "Etag": "W/\"0b20057b-2102-4f34-958b-656327c0fb1d\"", "Id": "/subscriptions/.../resourceGroups/myaseazrg/providers/Microsoft. Network/networkInterfaces/myaznic1/ipConfigurations/my azipconfig1", "PrivateIpAddress": "10.126.76.60", "PrivateIpAllocationMethod": "Dynamic", "Subnet": { "Delegations": [], "Id": "/subscriptions/.../resourceGroups/ASERG/providers/Microsoft.Ne twork/virtualNetworks/ASEVNET/subnets/ASEVNETsubNet", "ServiceAssociationLinks": [] }, "ProvisioningState": "Succeeded", "PrivateIpAddressVersion": "IPv4", "LoadBalancerBackendAddressPools": [], "LoadBalancerInboundNatRules": [], "Primary": true, "ApplicationGatewayBackendAddressPools": [], "ApplicationSecurityGroups": [] } ] DnsSettings : { "DnsServers": [], "AppliedDnsServers": [], "InternalDomainNameSuffix": "auwlfcx0dhxurjgisct43fc ywb.a--x.internal.cloudapp.net" } EnableIPForwarding : False EnableAcceleratedNetworking : False NetworkSecurityGroup : null Primary : MacAddress : 001DD84A58D1 PS C:\WINDOWS\system32>
Herstellen der Verbindung zur VM
Je nachdem, ob Sie einen virtuellen Windows-Computer (Windows-VM) oder einen virtuellen Linux-Computer (Linux-VM) erstellt haben, können die Verbindungsanweisungen unterschiedlich sein.
Herstellen einer Verbindung mit einem virtuellen Linux-Computer
Wenn Sie eine Verbindung mit einem virtuellen Linux-Computer herstellen möchten, führen Sie die folgenden Schritte aus:
Stellen Sie eine Verbindung mit dem virtuellen Computer her, und verwenden Sie dabei die private IP-Adresse, die Sie im Rahmen der VM-Erstellung übergeben haben.
Öffnen Sie eine SSH-Sitzung, um die Verbindung mit der IP-Adresse herzustellen.
ssh -l <username> <ip address>
Geben Sie an der Eingabeaufforderung das Kennwort ein, das Sie beim Erstellen der VM verwendet haben.
Wenn Sie den SSH-Schlüssel angeben müssen, verwenden Sie diesen Befehl.
ssh -i c:/users/Administrator/.ssh/id_rsa Administrator@5.5.41.236
Im Folgenden finden Sie ein Beispiel für die Ausgabe beim Herstellen einer Verbindung mit der VM:
PS C:\WINDOWS\system32> ssh -l myazuser "10.126.76.60" The authenticity of host '10.126.76.60 (10.126.76.60)' can't be established. ECDSA key fingerprint is SHA256:V649Zbo58zAYMKreeP7M6w7Na0Yf9QPg4SM7JZVV0E4. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.126.76.60' (ECDSA) to the list of known hosts. myazuser@10.126.76.60's password: Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.18.0-1013-azure x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information disabled due to load higher than 1.0 Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 284 packages can be updated. 192 updates are security updates. The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. myazuser@myazvmfriendlyname:~$ client_loop: send disconnect: Connection reset PS C:\WINDOWS\system32>
Wenn Sie während der Erstellung der VM eine öffentliche IP-Adresse verwendet haben, können Sie über diese IP-Adresse eine Verbindung mit der VM herstellen. Um die öffentliche IP-Adresse abzurufen, führen Sie den folgenden Befehl aus:
$publicIp = Get-AzPublicIpAddress -Name $PublicIp -ResourceGroupName $ResourceGroupName
Die öffentliche IP-Adresse ist in diesem Fall identisch mit der privaten IP-Adresse, die Sie beim Erstellen der virtuellen Netzwerkschnittstelle übermittelt haben.
Herstellen einer Verbindung mit einem virtuellen Windows-Computer
Wenn Sie eine Verbindung mit einem virtuellen Windows-Computer herstellen möchten, führen Sie die folgenden Schritte aus:
Stellen Sie über das Remotedesktopprotokoll (RDP) mithilfe der IP-Adresse, die Sie bei der Erstellung der VM übergeben haben, eine Verbindung mit Ihrer Windows-VM her.
Öffnen Sie RDP auf dem Client.
Navigieren Sie zu Start, und geben Sie dann mstsc ein.
Geben Sie im Bereich Remotedesktopverbindung die IP-Adresse der VM und die Zugriffsanmeldeinformationen ein, die Sie in der VM-Vorlagenparameterdatei verwendet haben. Wählen Sie dann Verbinden aus.
Hinweis
Möglicherweise müssen Sie die Verbindung mit einem nicht vertrauenswürdigen Computer genehmigen.
Sie sind jetzt bei Ihrer VM angemeldet, die auf der Appliance ausgeführt wird.
Verwalten der VM
In den folgenden Abschnitten werden einige der häufigen Vorgänge beschrieben, die Sie auf Ihrem Azure Stack Edge Pro-Gerät erstellen können.
Auflisten der auf dem Gerät ausgeführten VMs
Wenn Sie eine Liste aller auf Ihrem Azure Stack Edge-Gerät ausgeführten VMs zurückgeben möchten, führen Sie diesen Befehl aus:
Get-AzVM -ResourceGroupName <String> -Name <String>
Weitere Informationen zu diesem Cmdlet finden Sie unter Get-AzVM.
Einschalten der VM
Wenn Sie einen auf Ihrem Gerät ausgeführten virtuellen Computer einschalten möchten, führen Sie das folgende Cmdlet aus:
Start-AzVM [-Name] <String> [-ResourceGroupName] <String>
Weitere Informationen zu diesem Cmdlet finden Sie unter Start-AzVM.
Anhalten oder Herunterfahren des virtuellen Computers
Wenn Sie einen auf Ihrem Gerät ausgeführten virtuellen Computer anhalten oder herunterfahren möchten, führen Sie das folgende Cmdlet aus:
Stop-AzVM [-Name] <String> [-StayProvisioned] [-ResourceGroupName] <String>
Weitere Informationen zu diesem Cmdlet finden Sie unter Stop-AzVM.
Ändern der Größe der VM
Führen Sie die folgenden Cmdlets aus, um die Größe eines vorhandenen virtuellen Computers zu ändern:
Wichtig
Bevor Sie die Größe ändern, stoppen Sie die VM ohne die Kennzeichnung -StayProvisioned
.
$vm = Get-AzVM [-Name] <String> [-ResourceGroupName] <String>
$vm.HardwareProfile.VmSize = <new size> - Example: "Standard_D3_v2"
$vm | Update-AzVM
Hinzufügen eines Datenträgers
Wenn die Anforderungen an die Workload auf Ihrem virtuellen Computer größer werden, müssen Sie möglicherweise einen Datenträger hinzufügen. Führen Sie hierzu den folgenden Befehl aus:
Add-AzRmVMDataDisk -VM $VirtualMachine -Name "disk1" -VhdUri "https://contoso.blob.core.windows.net/vhds/diskstandard03.vhd" -LUN 0 -Caching ReadOnly -DiskSizeinGB 1 -CreateOption Empty
Update-AzVM -ResourceGroupName "<Resource Group Name string>" -VM $VirtualMachine
Löschen der virtuellen Computer
Wenn Sie einen virtuellen Computer von Ihrem Gerät entfernen möchten, führen Sie das folgende Cmdlet aus:
Remove-AzVM [-Name] <String> [-ResourceGroupName] <String>
Weitere Informationen zu diesem Cmdlet finden Sie unter Remove-AzVm.