Menyebarkan komputer virtual di perangkat GPU Azure Stack Edge Pro Anda melalui skrip Azure PowerShell

BERLAKU UNTUK:Yes for Pro GPU SKUAzure Stack Edge Pro - GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro RYes for Mini R SKUAzure Stack Edge Mini R

Tutorial ini menjelaskan cara membuat dan mengelola komputer virtual di perangkat Azure Stack Edge Pro Anda menggunakan skrip Azure PowerShell.

Prasyarat

Sebelum Anda mulai membuat dan mengelola komputer virtual di perangkat Azure Stack Edge Pro menggunakan skrip ini, Anda perlu memastikan bahwa Anda telah memenuhi prasyarat yang tercantum dalam langkah-langkah berikut:

Untuk perangkat Azure Stack Edge Pro melalui antarmuka pengguna web lokal

Sebelum dapat menyebarkan komputer virtual di perangkat Azure Stack Edge, Anda harus mengonfigurasi klien Anda untuk tersambung ke perangkat melalui Azure Resource Manager melalui Azure PowerShell. Untuk instruksi mendetail, lihat Menyambungkan ke Azure Resource Manager di perangkat Azure Stack Edge Anda.

Pastikan Anda dapat menggunakan langkah-langkah berikut untuk mengakses perangkat dari klien Anda. Anda telah melakukan konfigurasi ini saat tersambung ke Azure Resource Manager, dan sekarang Anda memverifikasi bahwa konfigurasi berhasil.

  1. Verifikasi bahwa komunikasi Azure Resource Manager berfungsi dengan menjalankan perintah berikut ini:

    Add-AzEnvironment -Name <Environment Name> -ARMEndpoint "https://management.<appliance name>.<DNSDomain>"
    
  2. Untuk memanggil API perangkat lokal untuk mengautentikasi, masukkan:

    login-AzAccount -EnvironmentName <Environment Name> -TenantId c0257de7-538f-415c-993a-1b87a031879d
    

    Untuk tersambung melalui Azure Resource Manager, berikan nama pengguna EdgeArmUser dan kata sandi Anda.

  3. Jika Anda mengonfigurasi komputasi untuk Kubernetes, Anda dapat melewati langkah ini. Jika tidak, pastikan Anda telah mengaktifkan antarmuka jaringan untuk komputasi dengan melakukan hal berikut:

    a. Di antarmuka pengguna lokal Anda, buka pengaturan Komputasi.
    b. Pilih antarmuka jaringan yang ingin Anda gunakan untuk membuat sakelar virtual. Komputer virtual yang Anda buat akan dilampirkan ke sakelar virtual yang terpasang ke port ini dan jaringan terkait. Pastikan untuk memilih jaringan yang cocok dengan alamat IP yang akan Anda gunakan untuk komputer virtual.

    Screenshot of the Compute configuration network settings pane.

    c. Di bagian Aktifkan untuk komputasi pada antarmuka jaringan, pilih Ya. Azure Stack Edge akan membuat dan mengelola sakelar virtual yang sesuai dengan antarmuka jaringan tersebut. Jangan masukkan IP spesifik untuk Kubernetes saat ini. Proses ini dapat memerlukan waktu beberapa menit untuk mengaktifkan komputasi.

    Catatan

    Jika Anda membuat komputer virtual GPU, pilih antarmuka jaringan yang tersambung ke internet. Dengan melakukannya, Anda dapat menginstal ekstensi GPU di perangkat Anda.

Untuk klien Windows Anda

  1. Pastikan Anda telah memodifikasi:

    • File host pada klien, ATAU,
    • Konfigurasi server DNS

    Penting

    Kami menyarankan agar Anda mengubah konfigurasi server DNS untuk resolusi nama titik akhir.

    1. Mulai Notepad sebagai administrator (Hak istimewa administrator diperlukan untuk menyimpan file), lalu buka file host yang terletak di C:\Windows\System32\Drivers\etc.

      Windows Explorer hosts file

    2. Tambahkan entri berikut ke file host Anda untuk diganti dengan nilai yang sesuai untuk perangkat Anda:

      <device IP> login.<appliance name>.<DNS domain>
      <device IP> management.<appliance name>.<DNS domain>
      <device IP> <storage name>.blob.<appliance name>.<DNS domain>
      

      Untuk akun penyimpanan, Anda dapat memberikan nama yang Anda inginkan agar digunakan skrip nanti untuk membuat akun penyimpanan baru. Skrip tidak memeriksa jika sudah ada akun penyimpanan.

    3. Gunakan gambar berikut untuk referensi. Simpan file host.

      hosts file in Notepad

  2. Unduh skrip PowerShell yang digunakan dalam prosedur ini.

  3. Pastikan klien Windows Anda menjalankan PowerShell 5.0 atau yang lebih baru.

  4. Pastikan bahwa Azure.Storage Module version 4.5.0 terinstal pada sistem Anda. Anda bisa mendapatkan modul ini dari Galeri PowerShell. Untuk menginstal modul ini, ketik:

    Install-Module -Name Azure.Storage -RequiredVersion 4.5.0

    Untuk memverifikasi versi modul yang diinstal, ketik:

    Get-InstalledModule -name Azure.Storage

    Untuk menghapus instalasi modul versi lainnya, ketik:

    Uninstall-Module -Name Azure.Storage

  5. Unduh AzCopy 10 ke klien Windows Anda. Catat lokasi ini saat Anda akan meneruskannya sebagai parameter saat menjalankan skrip.

  6. Pastikan klien Windows Anda menjalankan TLS 1.2 atau yang lebih baru.

Membuat VM

  1. Jalankan PowerShell sebagai Administrator.

  2. Buka folder tempat mengunduh skrip di klien Anda.

  3. Sebelum menjalankan skrip, pastikan Anda masih tersambung ke Azure Resource Manager lokal perangkat dan koneksi belum kedaluwarsa.

    PS C:\windows\system32> login-AzureRMAccount -EnvironmentName aztest1 -TenantId c0257de7-538f-415c-993a-1b87a031879d
    
    Account               SubscriptionName              TenantId                             Environment
    -------               ----------------              --------                             -----------
    EdgeArmUser@localhost Default Provider Subscription c0257de7-538f-415c-993a-1b87a031879d aztest1
    
    PS C:\windows\system32> cd C:\Users\v2
    PS C:\Users\v2>
    
  4. Gunakan perintah berikut untuk menjalankan skrip:

    .\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>

    Jika Anda ingin IP dialokasikan secara dinamis ke komputer virtual, hilangkan parameter -NicPrivateIp.

    Berikut adalah contoh ketika skrip dijalankan untuk membuat komputer virtual Windows dan komputer virtual Linux.

    Untuk komputer virtual Windows:

    Berikut adalah sampel output untuk komputer virtual Windows yang dibuat.

    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/947b3cfd-7a1b-4a90-7cc5-e52caf221332/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/947b3cfd-7a1b-4a90-7cc5-e52caf221332/resourceGroups/rg201221071831/providers/Microsoft.Compute/images/ig201221071831
    Name                 : ig201221071831
    Type                 : Microsoft.Compute/images
    Location             : dbelocal
    Tags                 : {}
    
     Created a new Image
    
     Using Vnet /subscriptions/947b3cfd-7a1b-4a90-7cc5-e52caf221332/resourceGroups/ASERG/providers/Microsoft.Network/virtualNetworks/ASEVNET
    
     Creating a new Newtork 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/947b3cfd-7a1b-4a90-7cc5-e52caf221332/resourceGroups/rg201221071831/providers/Microsoft.Network/networkInterfaces/nic201221071831/ipConfigurations/ip201221071831",
                                      "PrivateIpAddress": "10.57.51.61",
                                      "PrivateIpAllocationMethod": "Dynamic",
                                      "Subnet": {
                                        "Id": "/subscriptions/947b3cfd-7a1b-4a90-7cc5-e52caf221332/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/947b3cfd-7a1b-4a90-7cc5-e52caf221332/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/947b3cfd-7a1b-4a90-7cc5-e52caf221332/resourceGroups/rg201221071831/providers/Microsoft.Network/networkInterfaces/nic201221071831.Id
    
     Set-AzureRmVMSourceImage -VM Microsoft.Azure.Commands.Compute.Models.PSVirtualMachine -Id /subscriptions/947b3cfd-7a1b-4a90-7cc5-e52caf221332/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>
    

    Untuk komputer virtual Linux:

    Berikut adalah sampel perintah yang digunakan untuk membuat komputer virtual Linux.

    .\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    
    
  5. Setelah Anda berhasil membuat komputer virtual, komputer virtual ini harus muncul dalam daftar komputer virtual di portal Microsoft Azure. Untuk melihat VM, di sumber daya Azure Stack Edge untuk perangkat Anda di portal Azure, buka layanan > Edge Komputer virtual.

    View list of virtual machines

    Untuk melihat detail komputer virtual, pilih nama komputer virtual. Perhatikan alokasi dinamis IP untuk komputer virtual ini.

    View VM details

  6. Untuk membersihkan sumber daya yang dibuat skrip, gunakan perintah berikut:

    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
    

Langkah berikutnya

Menyebarkan komputer virtual menggunakan cmdlet Azure PowerShell