Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ:Azure Stack Edge Pro — GPU
Azure Stack Edge Pro 2
Azure Stack Edge Pro R
Azure Stack Edge Mini R
В этой статье описывается создание виртуальной машины и управление ею на устройстве Azure Stack Edge с помощью Azure PowerShell.
Рабочий процесс развертывания виртуальной машины
Высокоуровневый рабочий процесс развертывания виртуальной машины выглядит следующим образом:
- Подключитесь к локальной версии Azure Resource Manager на своем устройстве.
- Определите встроенную подписку на устройстве.
- Используйте собственный образ виртуальной машины.
- Создайте группу ресурсов во встроенной подписке. Группа ресурсов содержит виртуальную машину и все связанные ресурсы.
- Создайте локальную учетную запись хранения на устройстве для хранения виртуального жесткого диска, используемого для создания образа виртуальной машины.
- Передайте исходный образ Windows или Linux в учетную запись хранения, чтобы создать управляемый диск.
- Используйте этот управляемый диск для создания образа виртуальной машины.
- Включите вычисления на порту устройства, чтобы создать виртуальный коммутатор.
- При этом будет создана виртуальная сеть, использующая виртуальный коммутатор, подключенный к порту, на котором вы включили вычисления.
- Создайте виртуальную машину, используя созданные ранее образ виртуальной машины, виртуальную сеть и виртуальные сетевые интерфейсы для обмена данными в виртуальной сети, затем назначьте общедоступный IP-адрес для удаленного доступа к этой виртуальной машине. При необходимости добавьте в нее диски данных, чтобы обеспечить больше места для хранения данных виртуальной машины.
Предпосылки
Перед развертыванием виртуальных машин на устройстве Azure Stack Edge необходимо настроить клиент для подключения к устройству через Azure Resource Manager в Azure PowerShell. Подробные инструкции см. в статье Подключение к Azure Resource Manager на устройстве Azure Stack Edge.
Обеспечьте возможность выполнения следующих действий для доступа к устройству из клиента. Вы уже выполнили эту настройку при подключении к Azure Resource Manager, и теперь уверены, что конфигурация прошла успешно.
Убедитесь, что коммуникация с Azure Resource Manager функционирует, выполнив следующую команду.
Чтобы вызвать для проверки подлинности локальные API-интерфейсы устройств, введите следующее.
Если вы настроили вычисление для Kubernetes, этот шаг можно пропустить. В противном случае убедитесь, что вы включили сетевой интерфейс для вычислений, выполнив следующие действия.
a. В локальном пользовательском интерфейсе выберите параметры Вычислений.
б. Выберите сетевой интерфейс, который будет использоваться для создания виртуального коммутатора. Создаваемые виртуальные машины будут подключены к виртуальному коммутатору, подключенному к этому порту и связанной сети. Не забудьте выбрать сеть, соответствующую IP-адресу, который будет использоваться для виртуальной машины.с. В разделе Включить для вычислений на сетевом интерфейсе выберите Да. Azure Stack Edge создаст виртуальный коммутатор, соответствующий этому сетевому интерфейсу, и будет управлять им. Не вводите в настоящее время определенные IP-адреса для Kubernetes. Включение службы вычислений может занять несколько минут.
Примечание.
Если вы создаете виртуальные машины GPU, выберите сетевой интерфейс, подключенный к Интернету. Это позволит установить расширение GPU на устройстве.
Запрос встроенной подписки на устройстве
Для Azure Resource Manager поддерживается только одна фиксированная подписка, которая отображается пользователем. Эта подписка уникальна для каждого устройства, а имя подписки и идентификатор подписки не могут быть изменены.
Подписка содержит все ресурсы, необходимые для создания виртуальной машины.
Это важно
Подписка создается при включении виртуальных машин на портале Azure и хранится локально на вашем устройстве.
Подписка используется для развертывания виртуальных машин.
Чтобы получить список подписки, выполните следующую команду:
Get-AzSubscription
Вот пример выходных данных:
PS C:\WINDOWS\system32> Get-AzSubscription Name Id TenantId ---- -- -------- Default Provider Subscription ... ... PS C:\WINDOWS\system32>
Получите список зарегистрированных поставщиков ресурсов, работающих на устройстве. Список обычно включает вычислительные ресурсы, сеть и хранилище.
Get-AzResourceProvider
Примечание.
Поставщики ресурсов предварительно зарегистрированы и не могут быть изменены.
Вот пример выходных данных:
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>
Создание группы ресурсов
Сначала создайте новую группу ресурсов Azure и используйте ее в качестве логического контейнера для всех связанных ресурсов виртуальной машины, таких как учетная запись хранения, диск, сетевой интерфейс и управляемый диск.
Это важно
Все ресурсы создаются в том же месте, что и устройство, а местоположение установлено на DBELocal.
Задайте некоторые параметры.
$ResourceGroupName = "<Resource group name>"
Создайте группу ресурсов для ресурсов, создаваемых для виртуальной машины.
New-AzResourceGroup -Name $ResourceGroupName -Location DBELocal
Вот пример выходных данных:
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>
Создание локальной учетной записи хранения
Создайте новую локальную учетную запись хранения с помощью существующей группы ресурсов. Используйте эту локальную учетную запись хранения для отправки образа виртуального диска при создании виртуальной машины.
Перед созданием локальной учетной записи хранения необходимо настроить клиент для подключения к устройству с помощью Azure Resource Manager через Azure PowerShell. Подробные инструкции см. в статье Подключение к Azure Resource Manager на устройстве Azure Stack Edge.
Задайте некоторые параметры.
$StorageAccountName = "<Storage account name>"
Создайте новую локальную учетную запись хранения на устройстве.
New-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $ResourceGroupName -Location DBELocal -SkuName Standard_LRS
Примечание.
С помощью Azure Resource Manager можно создавать только локальные учетные записи хранения, например локально избыточное хранилище (уровня "Стандартный" или "Премиум"). Сведения о создании многоуровневых учетных записей хранения см. в статье Учебник. Передача данных через учетные записи хранения с помощью Azure Stack Edge Pro с GPU.
Ниже представлен пример результата.
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>
Чтобы получить ключи доступа для существующей созданной учетной записи хранения, укажите имя связанной группы ресурсов и имя локальной учетной записи хранения.
Get-AzStorageAccountKey
Ниже представлен пример результата.
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>
Добавление URI BLOB-объекта в файл узла
Вы уже добавили URI блоба в файл hosts для клиента, который используете для подключения к хранилищу Azure Blob, в разделе Изменение файла hosts для разрешения имен конечных точекподключения к диспетчеру ресурсов Azure на вашем устройстве Azure Stack Edge. Эта запись использована для добавления URI BLOB.
<Device IP address>
<storage name>.blob.<appliance name>.<dnsdomain>
Установка сертификатов
Если вы используете ПРОТОКОЛ HTTPS, необходимо установить соответствующие сертификаты на устройстве. Здесь вы устанавливаете сертификат конечной точки BLOB-объектов. Дополнительные сведения см. в статье "Использование сертификатов с azure Stack Edge Pro с устройством GPU".
Загрузить VHD
Скопируйте любые дисковые образы, которые будут использоваться, в страничные блобы в локальной учетной записи хранения, созданной ранее. Вы можете использовать средство, например AzCopy , для отправки виртуального жесткого диска (VHD) в учетную запись хранения.
Используйте следующие команды с AzCopy 10:
Задайте некоторые параметры, включая соответствующую версию API для AzCopy. В этом примере используется AzCopy 10.
$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>
Скопируйте VHD из источника (в данном случае локальная система) в учетную запись хранения, созданную на устройстве на предыдущем шаге.
$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"
Ниже представлен пример результата.
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
Создайте управляемый диск из виртуального жесткого диска
Создайте управляемый диск из загруженного VHD.
Задайте некоторые параметры.
$DiskName = "<Managed disk name>" $HyperVGeneration = "<Generation of the image: V1 or V2>"
Создание управляемого диска из загруженного VHD. Чтобы получить исходный URL-адрес виртуального жесткого диска, перейдите в контейнер в учетной записи хранения, содержащей VHD в обозревателе службы хранилища. Выберите VHD и щелкните правой кнопкой мыши и выберите пункт "Свойства". В диалоговом окне свойств BLOB-объектов выберите универсальный код ресурса (URI).
$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
Ниже приведен пример выходных данных:.
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>
Создание образа виртуальной машины с управляемого диска
Теперь вы создадите образ виртуальной машины с управляемого диска.
Задайте некоторые параметры.
$DiskSize = "<Size greater than or equal to size of source managed disk>" $OsType = "<linux or windows>" $ImageName = "<Image name>"
Создайте образ виртуальной машины. Поддерживаемые типы ОС — Linux и 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
Ниже приведен пример выходных данных.
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>
Создание виртуальной машины с ранее созданными ресурсами
Перед созданием и развертыванием виртуальной машины необходимо создать одну виртуальную сеть и связать с ней интерфейс виртуальной сети.
Это важно
Применяются следующие правила:
- Вы можете создать только одну виртуальную сеть, даже в разных группах ресурсов. Виртуальная сеть должна иметь точно то же адресное пространство, что и логическая сеть.
- Виртуальная сеть может иметь только одну подсеть. Подсеть должна иметь точно то же адресное пространство, что и виртуальная сеть.
- При создании карты интерфейса виртуальной сети можно использовать только статический метод выделения. Пользователю необходимо указать частный IP-адрес.
Выполнить запрос в автоматически созданной виртуальной сети
При включении вычислений из локального пользовательского интерфейса вашего устройства создаётся виртуальная сеть под названием ASEVNET
, которая автоматически размещается в группе ресурсов ASERG
.
Используйте следующую команду для запроса существующей виртуальной сети:
$ArmVn = Get-AzVirtualNetwork -Name ASEVNET -ResourceGroupName ASERG
Создание карты интерфейса виртуальной сети
Вы создаете карту интерфейса виртуальной сети с помощью идентификатора подсети виртуальной сети.
Задайте некоторые параметры.
$IpConfigName = "<IP config name>" $NicName = "<Network interface name>"
Создайте интерфейс виртуальной сети.
$ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id $Nic = New-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName -Location DBELocal -IpConfiguration $IpConfig
По умолчанию IP-адрес динамически назначается сетевому интерфейсу из сети, включенной для вычислений. Используйте,
-PrivateIpAddress parameter
если вы выделяете статический IP-адрес сетевому интерфейсу.Ниже представлен пример результата.
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>
При необходимости при создании карты виртуальной сети для виртуальной машины можно передать общедоступный IP-адрес. В этом случае общедоступный IP-адрес возвращает частный IP-адрес.
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
Создание виртуальной машины
Теперь образ виртуальной машины можно использовать для создания виртуальной машины и его подключения к виртуальной сети, созданной ранее.
Задайте имя пользователя и пароль для входа на виртуальную машину, которую вы хотите создать.
$pass = ConvertTo-SecureString "<Password>" -AsPlainText -Force; $cred = New-Object System.Management.Automation.PSCredential("<Enter username>", $pass)
После создания и включения виртуальной машины используйте предыдущее имя пользователя и пароль для входа в нее.
Задайте параметры.
$VmName = "<VM name>" $ComputerName = "<VM display name>" $OsDiskName = "<OS disk name>"
Создайте виртуальную машину.
$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
Ниже приведен пример выходных данных.
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
Чтобы выяснить IP-адрес, назначенный созданной виртуальной машине, выполните запрос к созданному виртуальному сетевому интерфейсу.
PrivateIPAddress
Найдите и скопируйте IP-адрес виртуальной машины. Ниже приведен пример выходных данных.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>
Подключение к виртуальной машине
В зависимости от того, создали ли вы виртуальную машину Windows или виртуальную машину Linux, инструкции по подключению могут отличаться.
Подключение к виртуальной машине Linux
Чтобы подключиться к виртуальной машине Linux, сделайте следующее:
Подключитесь к виртуальной машине с помощью частного IP-адреса, переданного во время создания виртуальной машины.
Откройте сеанс SSH для подключения с помощью IP-адреса.
ssh -l <username> <ip address>
В командной строке введите пароль, который использовался при создании виртуальной машины.
Если необходимо указать ключ SSH, выполните следующую команду.
ssh -i c:/users/Administrator/.ssh/id_rsa Administrator@5.5.41.236
Ниже приведен пример выходных данных при подключении к виртуальной машине.
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>
Если во время создания виртуальной машины использовался общедоступный IP-адрес, можно использовать этот IP-адрес для подключения к виртуальной машине. Чтобы получить общедоступный IP-адрес, выполните следующую команду:
$publicIp = Get-AzPublicIpAddress -Name $PublicIp -ResourceGroupName $ResourceGroupName
В этом случае общедоступный IP-адрес совпадает с частным IP-адресом, переданным во время создания виртуального сетевого интерфейса.
Подключение к виртуальной машине Windows
Чтобы подключиться к виртуальной машине Windows, сделайте следующее:
Подключитесь к виртуальной машине Windows с помощью протокола удаленного рабочего стола (RDP) через IP-адрес, указанный во время создания виртуальной машины.
На своем клиенте откройте RDP.
Перейдите в раздел Пуски введите mstsc.
В области Подключение к удаленному рабочему столу введите IP-адрес виртуальной машины и учетные данные доступа, которые использовались в файле параметров шаблона виртуальной машины. В этом случае выберите Подключиться.
Примечание.
Возможно, нужно будет утвердить подключение к ненадежному компьютеру.
Теперь вы вошли в виртуальную машину, запущенную на устройстве.
Управление виртуальной машиной
В следующих разделах описаны некоторые распространенные операции, которые можно создать на устройстве Azure Stack Edge Pro.
Список виртуальных машин, работающих на устройстве
Чтобы вернуть список всех виртуальных машин, работающих на устройстве Azure Stack Edge, выполните следующую команду:
Get-AzVM -ResourceGroupName <String> -Name <String>
Дополнительные сведения об этом командлете см. в разделе Get-AzVM.
Включение виртуальной машины
Чтобы включить виртуальную машину, которая работает на устройстве, выполните следующий командлет:
Start-AzVM [-Name] <String> [-ResourceGroupName] <String>
Дополнительные сведения об этом командлете см. в разделе Start-AzVM.
Приостановка или завершение работы виртуальной машины
Чтобы остановить или завершить работу виртуальной машины, работающей на устройстве, выполните следующий командлет:
Stop-AzVM [-Name] <String> [-StayProvisioned] [-ResourceGroupName] <String>
Дополнительные сведения об этом командлете см. в командлетеStop-AzVM.
Изменение размера виртуальной машины
Чтобы изменить размер существующей виртуальной машины, выполните следующие командлеты:
Это важно
Перед изменением размера остановите виртуальную машину без флага -StayProvisioned
.
$vm = Get-AzVM [-Name] <String> [-ResourceGroupName] <String>
$vm.HardwareProfile.VmSize = <new size> - Example: "Standard_D3_v2"
$vm | Update-AzVM
Добавление диска данных
Если требования к рабочей нагрузке на виртуальной машине увеличиваются, может потребоваться добавить диск данных. Для этого выполните следующую команду:
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
Удалите виртуальную машину
Чтобы удалить виртуальную машину с устройства, выполните следующий командлет:
Remove-AzVM [-Name] <String> [-ResourceGroupName] <String>
Дополнительные сведения об этом командлете см. в Remove-AzVm командлете.