VM's implementeren op uw Azure Stack Edge Pro GPU-apparaat via Azure PowerShell-script
VAN TOEPASSING OP: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
In deze zelfstudie wordt beschreven hoe u een virtuele machine maakt en beheert op uw Azure Stack Edge Pro-apparaat met behulp van een Azure PowerShell-script.
Vereisten
Voordat u begint met het maken en beheren van een VIRTUELE machine op uw Azure Stack Edge Pro-apparaat met behulp van dit script, moet u ervoor zorgen dat u de vereisten hebt voltooid die worden vermeld in de volgende stappen:
Voor Azure Stack Edge Pro-apparaat via de lokale webinterface
Voordat u VM's op uw Azure Stack Edge-apparaat kunt implementeren, moet u uw client configureren om via Azure Resource Manager verbinding te maken met het apparaat via Azure PowerShell. Zie Verbinding maken met Azure Resource Manager op uw Azure Stack Edge-apparaat voor gedetailleerde instructies.
Zorg ervoor dat u de volgende stappen kunt gebruiken om toegang te krijgen tot het apparaat vanaf uw client. U hebt deze configuratie al uitgevoerd wanneer u verbinding hebt gemaakt met Azure Resource Manager en nu controleert u of de configuratie is geslaagd.
Controleer of azure Resource Manager-communicatie werkt door de volgende opdracht uit te voeren:
Als u de API's van het lokale apparaat wilt aanroepen om te verifiëren, voert u het volgende in:
Als u rekenkracht voor Kubernetes hebt geconfigureerd, kunt u deze stap overslaan. Zorg er anders voor dat u een netwerkinterface hebt ingeschakeld voor berekening door het volgende te doen:
a. Ga in uw lokale gebruikersinterface naar Compute-instellingen .
b. Selecteer de netwerkinterface die u wilt gebruiken om een virtuele switch te maken. De virtuele machines die u maakt, worden gekoppeld aan een virtuele switch die is gekoppeld aan deze poort en het bijbehorende netwerk. Zorg ervoor dat u een netwerk kiest dat overeenkomt met het IP-adres dat u voor de VIRTUELE machine gaat gebruiken.c. Selecteer Ja onder Inschakelen voor berekening op de netwerkinterface. Azure Stack Edge maakt en beheert een virtuele switch die overeenkomt met die netwerkinterface. Voer op dit moment geen specifieke IP-adressen in voor Kubernetes. Het kan enkele minuten duren voordat de berekening is ingeschakeld.
Notitie
Als u GPU-VM's maakt, selecteert u een netwerkinterface die is verbonden met internet. Hierdoor kunt u een GPU-extensie installeren op uw apparaat.
Voor uw Windows-client
Zorg ervoor dat u het volgende hebt gewijzigd:
- Het hostbestand op de client, OF
- De DNS-serverconfiguratie
Belangrijk
We raden aan de DNS-serverconfiguratie aan te passen voor de eindpuntnaamomzetting.
Start Kladblok als beheerder (er zijn beheerdersrechten vereist om het bestand op te slaan) en open vervolgens het bestand hosts dat zich bevindt op
C:\Windows\System32\Drivers\etc
.Voeg de volgende vermeldingen toe aan uw hosts-bestand, waarbij u de juiste waarden voor uw apparaat invoert:
<device IP> login.<appliance name>.<DNS domain> <device IP> management.<appliance name>.<DNS domain> <device IP> <storage name>.blob.<appliance name>.<DNS domain>
Voor het opslagaccount kunt u een naam opgeven die u het script later wilt gebruiken om een nieuw opslagaccount te maken. Het script controleert niet of dat opslagaccount bestaat.
Gebruik de volgende afbeelding ter referentie. Sla het bestand met hosts op.
Download het PowerShell-script dat in deze procedure wordt gebruikt.
Zorg ervoor dat op uw Windows-client PowerShell 5.0 of hoger wordt uitgevoerd.
Zorg ervoor dat de
Azure.Storage Module version 4.5.0
installatie op uw systeem is geïnstalleerd. U kunt deze module ophalen uit de PowerShell Gallery. Als u deze module wilt installeren, typt u:Install-Module -Name Azure.Storage -RequiredVersion 4.5.0
Als u de versie van de geïnstalleerde module wilt controleren, typt u:
Get-InstalledModule -name Azure.Storage
Als u andere versiemodules wilt verwijderen, typt u:
Uninstall-Module -Name Azure.Storage
Download AzCopy 10 naar uw Windows-client. Noteer deze locatie omdat u deze als parameter doorgeeft tijdens het uitvoeren van het script.
Zorg ervoor dat op uw Windows-client TLS 1.2 of hoger wordt uitgevoerd.
Een VM maken:
Voer PowerShell uit als beheerder.
Ga naar de map waarin u het script op uw client hebt gedownload.
Voordat u het script uitvoert, moet u ervoor zorgen dat u nog steeds bent verbonden met de lokale Azure Resource Manager van het apparaat en dat de verbinding niet is verlopen.
PS C:\windows\system32> login-AzureRMAccount -EnvironmentName aztest1 -TenantId aaaabbbb-0000-cccc-1111-dddd2222eeee Account SubscriptionName TenantId Environment ------- ---------------- -------- ----------- EdgeArmUser@localhost Default Provider Subscription aaaabbbb-0000-cccc-1111-dddd2222eeee aztest1 PS C:\windows\system32> cd C:\Users\v2 PS C:\Users\v2>
Gebruik de volgende opdracht om het script uit te voeren:
.\ArmPowershellClient.ps1 -NicPrivateIp <Private IP> -VHDPath <Path> -VHDFile <VHD File, with extension> -StorageAccountName <Name> -OS <Windows/Linux> -VMSize <Supported VM Size> -VMUserName <Username to be used to sign in to VM> -VMPassword <Password for the VM> --AzCopy10Path <Absolute Path>
Als u wilt dat het IP-adres dynamisch wordt toegewezen aan de virtuele machine, laat u de
-NicPrivateIp
parameter weg.Hier volgen de voorbeelden wanneer het script wordt uitgevoerd om een Windows-VM en een Linux-VM te maken.
Voor een Virtuele Windows-machine:
Hier volgt een voorbeelduitvoer voor een Windows-VM die is gemaakt.
PS C:\Users\v2> .\ArmPowershellClient.ps1 -VHDPath \\asefs\Logs\vmvhd -VHDFile WindowsServer2016Datacenter.vhd -StorageAccountName myasesatest -OS Windows -VMSize Standard_D1_v2 -VMUserName Administrator -VMPassword Password1 -AzCopy10Path C:\Users\AzCopy10\AzCopy.exe New-AzureRmResourceGroup -Name rg201221071831 -Location DBELocal -Force Successfully created Resource Group:rg201221071831 Successfully created Resource Group:StorAccRG Get-AzureRmStorageAccount -Name myasesatest -ResourceGroupName StorAccRG -ErrorAction SilentlyContinue New-AzureRmStorageAccount -Name myasesatest -ResourceGroupName StorAccRG -SkuName Standard_LRS -Location DBELocal Created New Storage Account Get-AzureRmStorageAccount -name myasesatest -resourcegroupname StorageAccountName ResourceGroupName Location SkuName Kind AccessTier CreationTime ProvisioningState EnableHttpsTrafficOnly ------------------ ----------------- -------- ------- ---- ---------- ------------ ----------------- ---------------------- myasesatest StorAccRG DBELocal StandardLRS Storage 12/22/2020 3:18:38 AM Succeeded False myasesatest StorAccRG DBELocal StandardLRS Storage 12/22/2020 3:18:38 AM Succeeded False Uploading Vhd to Storage Account New-AzureStorageContext -StorageAccountName myasesatest -StorageAccountKey hyibjhbVlOROgTlU1nQJIlxrg94eGDhF+RIQ71Z7UVZIxoOPMlHP274NUhZtA1hMxGBcpk2BVApiFasFPEhY/A== -Endpoint https://myasesatest.blob.myasegpuvm.wdshcsso.com/ New-AzureStorageAccountSASToken -Service Blob,File,Queue,Table -ResourceType Container,Service,Object -Permission SAS Token : ?sv=2017-07-29&sig=TXaGbjum9tFFaJnu3SFmDuslJuqNiNQwvuHfpPJMYN0%3D&spr=https&se=2020-12-22T04%3A18%3A43Z&srt=sco&ss=bfqt&sp=racwdl C:\Users\AzCopy10\AzCopy.exe make https://myasesatest.blob.myasegpuvm.wdshcsso.com/vmimages?sv=2017-07-29&sig=TXaGbjum9tFFaJnu3SFmDuslJuqNiNQwvuHfpPJMYN0%3D&spr=https&se=2020-12-22T04%3A18%3A43Z&srt=sco&ss=bfqt&sp=racwdl Successfully created the resource. AzCopy cp \\asefs\Logs\vmvhd\WindowsServer2016Datacenter.vhd https://myasesatest.blob.myasegpuvm.wdshcsso.com/vmimages?sv=2017-07-29&sig=TXaGbjum9tFFaJnu3SFmDuslJuqNiNQwvuHfpPJMYN0%3D&spr=https&se=2020-12-22T04%3A18%3A43Z&srt=sco&ss=bfqt&sp=racwdl INFO: Scanning... Job b6f54665-93c4-2f47-4770-5f3b7b0de2dc has started Log file is located at: C:\Users\Administrator\.azcopy\b6f54665-93c4-2f47-4770-5f3b7b0de2dc.log INFO: AzCopy.exe: A newer version 10.8.0 is available to download 99.9 %, 0 Done, 0 Failed, 1 Pending, 0 Skipped, 1 Total, (Disk may be limiting speed) Job b6f54665-93c4-2f47-4770-5f3b7b0de2dc summary Elapsed Time (Minutes): 12.7717 Total Number Of Transfers: 1 Number of Transfers Completed: 1 Number of Transfers Failed: 0 Number of Transfers Skipped: 0 TotalBytesTransferred: 13958644224 Final Job Status: Completed VHD Upload Done Creating a new managed disk = New-AzureRmDiskConfig -Location DBELocal -CreateOption Import -SourceUri Microsoft.Azure.Commands.Compute.Automation.Models.PSDisk New-AzureRmDisk -ResourceGroupName rg201221071831 -DiskName ld201221071831 -Disk ResourceGroupName : rg201221071831 ManagedBy : Sku : Microsoft.Azure.Management.Compute.Models.DiskSku Zones : TimeCreated : 12/21/2020 7:31:35 PM OsType : CreationData : Microsoft.Azure.Management.Compute.Models.CreationData DiskSizeGB : 13 EncryptionSettings : ProvisioningState : Succeeded Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg201221071831/providers/Microsoft.Compute/disks/ld201221071831 Name : ld201221071831 Type : Microsoft.Compute/disks Location : DBELocal Tags : {} Created a new managed disk Creating a new Image out of managed disk ResourceGroupName : SourceVirtualMachine : StorageProfile : Microsoft.Azure.Management.Compute.Models.ImageStorageProfile ProvisioningState : Id : Name : Type : Location : DBELocal Tags : New-AzureRmImage -Image Microsoft.Azure.Commands.Compute.Automation.Models.PSImage -ImageName ig201221071831 -ResourceGroupName rg201221071831 -HyperVGeneration V1 ResourceGroupName : rg201221071831 SourceVirtualMachine : StorageProfile : Microsoft.Azure.Management.Compute.Models.ImageStorageProfile ProvisioningState : Succeeded Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg201221071831/providers/Microsoft.Compute/images/ig201221071831 Name : ig201221071831 Type : Microsoft.Compute/images Location : dbelocal Tags : {} Created a new Image Using Vnet /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ASERG/providers/Microsoft.Network/virtualNetworks/ASEVNET Creating a new Network Interface WARNING: The output object type of this cmdlet will be modified in a future release. VirtualMachine : IpConfigurations : {ip201221071831} DnsSettings : Microsoft.Azure.Commands.Network.Models.PSNetworkInterfaceDnsSettings MacAddress : 001DD87D7216 Primary : EnableAcceleratedNetworking : False EnableIPForwarding : False NetworkSecurityGroup : ProvisioningState : Succeeded VirtualMachineText : null IpConfigurationsText : [ { "Name": "ip201221071831", "Etag": "W/\"27785dd5-d12a-4d73-9495-ffad7847261a\"", "Id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg201221071831/providers/Microsoft.Network/networkInterfaces/nic201221071831/ipConfigurations/ip201221071831", "PrivateIpAddress": "10.57.51.61", "PrivateIpAllocationMethod": "Dynamic", "Subnet": { "Id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ASERG/providers/Microsoft.Network/virtualNetworks/ASEVNET/subnets/ASEVNETsubNet", "ResourceNavigationLinks": [], "ServiceEndpoints": [] }, "ProvisioningState": "Succeeded", "PrivateIpAddressVersion": "IPv4", "LoadBalancerBackendAddressPools": [], "LoadBalancerInboundNatRules": [], "Primary": true, "ApplicationGatewayBackendAddressPools": [], "ApplicationSecurityGroups": [] } ] DnsSettingsText : { "DnsServers": [], "AppliedDnsServers": [], "InternalDomainNameSuffix": "qgotb4hjdh4efnhn0vz5adtb3f.a--x.internal.cloudapp.net" } NetworkSecurityGroupText : null ResourceGroupName : rg201221071831 Location : dbelocal ResourceGuid : e6327ab9-0855-4f04-9b36-17bbf31b5bd8 Type : Microsoft.Network/networkInterfaces Tag : TagsTable : Name : nic201221071831 Etag : W/"27785dd5-d12a-4d73-9495-ffad7847261a" Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg201221071831/providers/Microsoft.Network/networkInterfaces/nic201221071831 Created Network Interface Creating a new VM New-AzureRmVMConfig -VMName VM201221071831 -VMSize Standard_D1_v2 Set-AzureRmVMOperatingSystem -VM Microsoft.Azure.Commands.Compute.Models.PSVirtualMachine -Windows -ComputerName COM201221071831 -Credential System.Management.Automation.PSCredential Microsoft.Azure.Commands.Compute.Models.PSVirtualMachine = Set-AzureRmVMOSDisk -VM Microsoft.Azure.Commands.Compute.Models.PSVirtualMachine -Name osld201221071831 -Caching ReadWrite -CreateOption FromImage -Windows -StorageAccountType StandardLRS Add-AzureRmVMNetworkInterface -VM Microsoft.Azure.Commands.Compute.Models.PSVirtualMachine -Id /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg201221071831/providers/Microsoft.Network/networkInterfaces/nic201221071831.Id Set-AzureRmVMSourceImage -VM Microsoft.Azure.Commands.Compute.Models.PSVirtualMachine -Id /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg201221071831/providers/Microsoft.Compute/images/ig201221071831 New-AzureRmVM -ResourceGroupName rg201221071831 -Location DBELocal -VM Microsoft.Azure.Commands.Compute.Models.PSVirtualMachine -Verbose WARNING: Since the VM is created using premium storage or managed disk, existing standard storage account, myasesa1, is used for boot diagnostics. VERBOSE: Performing the operation "New" on target "VM201221071831". Ticks : 1533424841 Days : 0 Hours : 0 Milliseconds : 342 Minutes : 2 Seconds : 33 TotalDays : 0.00177479726967593 TotalHours : 0.0425951344722222 TotalMilliseconds : 153342.4841 TotalMinutes : 2.55570806833333 TotalSeconds : 153.3424841 RequestId : IsSuccessStatusCode : True StatusCode : OK ReasonPhrase : OK PS C:\Users\v2>
Voor een Virtuele Linux-machine:
Hier volgt het voorbeeld van de opdracht die is gebruikt om een Virtuele Linux-machine te maken.
.\ArmPowershellClient.ps1 -VHDPath \\asefs\Logs\vmvhd -VHDFile ubuntu13.vhd -StorageAccountName myasesatest -OS Linux -VMSize Standard_D1_v2 -VMUserName Administrator -VMPassword Password1 -AzCopy10Path C:\Users\AzCopy10\AzCopy.exe New-AzureRmResourceGroup -Name rg201221075546 -Location DBELocal -Force
Zodra u de VM's hebt gemaakt, moeten deze VM's worden weergegeven in de lijst met virtuele machines in Azure Portal. Als u de VM's wilt weergeven, gaat u in de Azure Stack Edge-resource voor uw apparaat in Azure Portal naar virtuele Edge-services>.
Als u de details van een virtuele machine wilt weergeven, selecteert u de naam van de virtuele machine. Let op de dynamische toewijzing van IP voor deze VIRTUELE machine.
Gebruik de volgende opdrachten om de resources op te schonen die door het script zijn gemaakt:
Get-AzureRmVM | Remove-AzureRmVM -Force Get-AzureRmNetworkInterface | Remove-AzureRmNetworkInterface -Force Get-AzureRmImage | Remove-AzureRmImage -Force Get-AzureRmDisk | Remove-AzureRmDisk -Force Get-AzureRmStorageAccount | Remove-AzureRmStorageAccount -Force