Nasazení virtuálních počítačů na zařízení Azure Stack Edge Pro GPU pomocí skriptu Azure PowerShellu
PLATÍ PRO: Azure Stack Edge Pro – GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Tento kurz popisuje, jak vytvořit a spravovat virtuální počítač na zařízení Azure Stack Edge Pro pomocí skriptu Azure PowerShellu.
Požadavky
Než začnete vytvářet a spravovat virtuální počítač na zařízení Azure Stack Edge Pro pomocí tohoto skriptu, musíte se ujistit, že jste dokončili požadavky uvedené v následujících krocích:
Pro zařízení Azure Stack Edge Pro prostřednictvím místního webového uživatelského rozhraní
Než budete moct nasadit virtuální počítače na zařízení Azure Stack Edge, musíte klienta nakonfigurovat tak, aby se k zařízení připojil přes Azure Resource Manager přes Azure PowerShell. Podrobné pokyny najdete v tématu Připojení k Azure Resource Manageru na zařízení Azure Stack Edge.
Ujistěte se, že pro přístup k zařízení z klienta můžete použít následující postup. Tuto konfiguraci jste už provedli, když jste se připojili k Azure Resource Manageru, a teď ověřujete, že konfigurace proběhla úspěšně.
Spuštěním následujícího příkazu ověřte, že komunikace Azure Resource Manageru funguje:
Pokud chcete volat rozhraní API místního zařízení k ověření, zadejte:
Pokud jste nakonfigurovali výpočetní prostředky pro Kubernetes, můžete tento krok přeskočit. V opačném případě se ujistěte, že jste povolili síťové rozhraní pro výpočetní prostředky následujícím způsobem:
a. V místním uživatelském rozhraní přejděte na Nastavení výpočetních prostředků .
b. Vyberte síťové rozhraní, které chcete použít k vytvoření virtuálního přepínače. Virtuální počítače, které vytvoříte, budou připojené k virtuálnímu přepínači připojenému k tomuto portu a přidružené síti. Nezapomeňte zvolit síť, která odpovídá IP adrese, kterou použijete pro virtuální počítač.c. V části Povolit výpočetní prostředky v síťovém rozhraní vyberte Ano. Azure Stack Edge vytvoří a spravuje virtuální přepínač, který odpovídá danému síťovému rozhraní. V tuto chvíli nezadávejte konkrétní IP adresy pro Kubernetes. Povolení výpočetních prostředků může trvat několik minut.
Poznámka:
Pokud vytváříte virtuální počítače s GPU, vyberte síťové rozhraní, které je připojené k internetu. Díky tomu můžete na zařízení nainstalovat rozšíření GPU.
Pro klienta Windows
Ujistěte se, že jste upravili:
- Soubor hostitele v klientovi, OR,
- Konfigurace serveru DNS
Důležité
Doporučujeme upravit konfiguraci serveru DNS pro překlad názvů koncových bodů.
Spusťte Poznámkový blok jako správce (k uložení souboru se vyžadují oprávnění správce) a otevřete soubor hostitelů umístěný na adrese
C:\Windows\System32\Drivers\etc
.Přidejte do souboru hostitelů následující položky a nahraďte je odpovídajícími hodnotami pro vaše zařízení:
<device IP> login.<appliance name>.<DNS domain> <device IP> management.<appliance name>.<DNS domain> <device IP> <storage name>.blob.<appliance name>.<DNS domain>
Pro účet úložiště můžete zadat název, který má skript použít později k vytvoření nového účtu úložiště. Skript nekontroluje, jestli účet úložiště existuje.
Pro referenci použijte následující obrázek. Uložte soubor hostitelů.
Stáhněte skript PowerShellu použitý v tomto postupu.
Ujistěte se, že váš klient Windows používá PowerShell 5.0 nebo novější.
Ujistěte se, že
Azure.Storage Module version 4.5.0
je v systému nainstalovaný. Tento modul můžete získat z Galerie prostředí PowerShell. Pokud chcete nainstalovat tento modul, zadejte:Install-Module -Name Azure.Storage -RequiredVersion 4.5.0
Pokud chcete ověřit verzi nainstalovaného modulu, zadejte:
Get-InstalledModule -name Azure.Storage
Pokud chcete odinstalovat všechny ostatní moduly verzí, zadejte:
Uninstall-Module -Name Azure.Storage
Stáhněte si AzCopy 10 do klienta Windows. Poznamenejte si toto umístění, protože ho při spuštění skriptu předáte jako parametr.
Ujistěte se, že váš klient Windows používá protokol TLS 1.2 nebo novější.
Vytvoření virtuálního počítače
Spusťte PowerShell jako správce.
Přejděte do složky, do které jste stáhli skript ve svém klientovi.
Před spuštěním skriptu se ujistěte, že jste stále připojení k místnímu Azure Resource Manageru zařízení a nevypršela platnost připojení.
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>
Ke spuštění skriptu použijte následující příkaz:
.\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>
Pokud chcete, aby se IP adresa dynamicky přidělila virtuálnímu počítači, parametr vynecháte
-NicPrivateIp
.Tady jsou příklady spuštění skriptu pro vytvoření virtuálního počítače s Windows a virtuálního počítače s Linuxem.
Pro virtuální počítač s Windows:
Tady je ukázkový výstup pro vytvořený virtuální počítač s Windows.
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>
Pro virtuální počítač s Linuxem:
Tady je ukázka příkazu, který se použil k vytvoření virtuálního počítače s Linuxem.
.\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
Po úspěšném vytvoření virtuálních počítačů by se tyto virtuální počítače měly zobrazit v seznamu virtuálních počítačů na webu Azure Portal. Pokud chcete zobrazit virtuální počítače, přejděte v prostředku Azure Stack Edge pro vaše zařízení na webu Azure Portal na virtuální počítače služeb > Edge.
Pokud chcete zobrazit podrobnosti virtuálního počítače, vyberte název virtuálního počítače. Poznamenejte si dynamické přidělování IP adres pro tento virtuální počítač.
K vyčištění prostředků vytvořených skriptem použijte následující příkazy:
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
Další kroky
Nasazení virtuálních počítačů pomocí rutin Azure PowerShellu