Implantar VMs em seu dispositivo Azure Stack Edge por meio do Azure PowerShell
APLICA-SE A: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Este artigo descreve como criar e gerenciar uma máquina virtual (VM) em seu dispositivo Azure Stack Edge usando o Azure PowerShell.
Fluxo de trabalho de implantação de VM
O fluxo de trabalho de implantação de alto nível da implantação de VM é o seguinte:
- Conecte-se ao Azure Resource Manager local do seu dispositivo.
- Identifique a subscrição incorporada no dispositivo.
- Traga sua imagem de VM.
- Crie um grupo de recursos na assinatura interna. O grupo de recursos contém a VM e todos os recursos relacionados.
- Crie uma conta de armazenamento local no dispositivo para armazenar o VHD usado para criar uma imagem de VM.
- Carregue uma imagem de origem do Windows/Linux na conta de armazenamento para criar um disco gerenciado.
- Use o disco gerenciado para criar uma imagem de VM.
- Habilite a computação em uma porta de dispositivo para criar um comutador virtual.
- Isso cria uma rede virtual usando o comutador virtual conectado à porta na qual você habilitou a computação.
- Crie uma VM usando a imagem da VM criada anteriormente, a rede virtual e a(s) interface(s) de rede virtual para se comunicar dentro da rede virtual e atribuir um endereço IP público para acessar remotamente a VM. Opcionalmente, inclua discos de dados para fornecer mais armazenamento para sua VM.
Pré-requisitos
Antes de implantar VMs em seu dispositivo Azure Stack Edge, você deve configurar seu cliente para se conectar ao dispositivo por meio do Azure Resource Manager pelo Azure PowerShell. Para obter instruções detalhadas, consulte Conectar-se ao Azure Resource Manager em seu dispositivo Azure Stack Edge.
Certifique-se de que pode utilizar os seguintes passos para aceder ao dispositivo a partir do seu cliente. Você já fez essa configuração quando se conectou ao Gerenciador de Recursos do Azure e agora está verificando se a configuração foi bem-sucedida.
Verifique se a comunicação do Azure Resource Manager está funcionando executando o seguinte comando:
Para chamar as APIs do dispositivo local para autenticação, digite:
Se você configurou a computação para o Kubernetes, poderá ignorar esta etapa. Caso contrário, verifique se você habilitou uma interface de rede para computação fazendo o seguinte:
a. Na interface de usuário local, vá para Configurações de computação .
b. Selecione a interface de rede que você deseja usar para criar um comutador virtual. As VMs criadas serão conectadas a um comutador virtual conectado a essa porta e à rede associada. Certifique-se de escolher uma rede que corresponda ao endereço IP que você usará para a VM.c. Em Ativar para computação na interface de rede, selecione Sim. O Azure Stack Edge criará e gerenciará um comutador virtual que corresponde a essa interface de rede. Não insira IPs específicos para o Kubernetes no momento. Pode levar vários minutos para habilitar a computação.
Nota
Se você estiver criando VMs GPU, selecione uma interface de rede conectada à Internet. Isso permite que você instale uma extensão de GPU no seu dispositivo.
Consultar uma subscrição incorporada no dispositivo
Para o Azure Resource Manager, apenas uma única assinatura fixa visível pelo usuário é suportada. Esta subscrição é exclusiva por dispositivo e o nome e o ID da subscrição não podem ser alterados.
A assinatura contém todos os recursos necessários para a criação de VM.
Importante
A assinatura é criada quando você habilita VMs do portal do Azure e vive localmente em seu dispositivo.
A assinatura é usada para implantar as VMs.
Para listar a assinatura, execute o seguinte comando:
Get-AzSubscription
Aqui estão alguns exemplos de saída:
PS C:\WINDOWS\system32> Get-AzSubscription Name Id TenantId ---- -- -------- Default Provider Subscription ... ... PS C:\WINDOWS\system32>
Obtenha uma lista dos provedores de recursos registrados que estão sendo executados no dispositivo. A lista normalmente inclui computação, rede e armazenamento.
Get-AzResourceProvider
Nota
Os provedores de recursos são pré-registrados e não podem ser modificados ou alterados.
Aqui estão alguns exemplos de saída:
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>
Criar um grupo de recursos
Comece criando um novo grupo de recursos do Azure e use-o como um contêiner lógico para todos os recursos relacionados à VM, como conta de armazenamento, disco, interface de rede e disco gerenciado.
Importante
Todos os recursos são criados no mesmo local que o do dispositivo, e o local é definido como DBELocal.
Defina alguns parâmetros.
$ResourceGroupName = "<Resource group name>"
Crie um grupo de recursos para os recursos que você cria para a VM.
New-AzResourceGroup -Name $ResourceGroupName -Location DBELocal
Aqui estão alguns exemplos de saída:
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>
Criar uma conta de armazenamento local
Crie uma nova conta de armazenamento local usando um grupo de recursos existente. Use essa conta de armazenamento local para carregar a imagem do disco virtual ao criar uma VM.
Antes de criar uma conta de armazenamento local, você deve configurar seu cliente para se conectar ao dispositivo por meio do Azure Resource Manager pelo Azure PowerShell. Para obter instruções detalhadas, consulte Conectar-se ao Azure Resource Manager em seu dispositivo Azure Stack Edge.
Defina alguns parâmetros.
$StorageAccountName = "<Storage account name>"
Crie uma nova conta de armazenamento local no seu dispositivo.
New-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $ResourceGroupName -Location DBELocal -SkuName Standard_LRS
Nota
Usando o Gerenciador de Recursos do Azure, você pode criar apenas contas de armazenamento local, como armazenamento com redundância local (padrão ou premium). Para criar contas de armazenamento hierárquico, consulte Tutorial: Transferir dados através de contas de armazenamento com o Azure Stack Edge Pro com GPU.
Aqui está um exemplo de saída:
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>
Para obter as chaves de acesso para uma conta de armazenamento local existente que você criou, forneça o nome do grupo de recursos associado e o nome da conta de armazenamento local.
Get-AzStorageAccountKey
Aqui está um exemplo de saída:
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>
Adicionar o URI de blob ao arquivo host
Você já adicionou o URI de blob no arquivo hosts para o cliente que está usando para se conectar ao Armazenamento de Blobs do Azure em Modificar arquivo de host para resolução de nome de ponto de extremidade de Conectando-se ao Azure Resource Manager em seu dispositivo Azure Stack Edge. Esta entrada foi usada para adicionar o URI de blob:
<Device IP address>
<storage name>.blob.<appliance name>.<dnsdomain>
Instalar certificados
Se você estiver usando HTTPS, precisará instalar os certificados apropriados em seu dispositivo. Aqui, você instala o certificado de ponto de extremidade blob. Para obter mais informações, consulte Usar certificados com seu dispositivo Azure Stack Edge Pro com GPU.
Carregar um VHD
Copie todas as imagens de disco a serem usadas em blobs de página na conta de armazenamento local criada anteriormente. Você pode usar uma ferramenta como AzCopy para carregar o disco rígido virtual (VHD) para a conta de armazenamento.
Use os seguintes comandos com o AzCopy 10:
Defina alguns parâmetros, incluindo a versão apropriada das APIs para AzCopy. Neste exemplo, AzCopy 10 foi usado.
$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>
Copie o VHD da origem (neste caso, sistema local) para a conta de armazenamento que você criou no dispositivo na etapa anterior.
$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"
Aqui está um exemplo de saída:
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
Criar um disco gerenciado a partir do VHD
Crie um disco gerenciado a partir do VHD carregado.
Defina alguns parâmetros.
$DiskName = "<Managed disk name>" $HyperVGeneration = "<Generation of the image: V1 or V2>"
Crie um disco gerenciado a partir do VHD carregado. Para obter a URL de origem do VHD, vá para o contêiner na conta de armazenamento que contém o VHD no Gerenciador de Armazenamento. Selecione o VHD, clique com o botão direito do mouse e, em seguida, selecione Propriedades. Na caixa de diálogo Propriedades do Blob, selecione o 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
Aqui está um exemplo de saída:.
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>
Criar uma imagem de VM a partir do disco gerenciado
Agora você criará uma imagem de VM a partir do disco gerenciado.
Defina alguns parâmetros.
$DiskSize = "<Size greater than or equal to size of source managed disk>" $OsType = "<linux or windows>" $ImageName = "<Image name>"
Crie uma imagem de VM. Os tipos de SO suportados são Linux e 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
Aqui está um exemplo de saída.
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>
Crie sua VM com recursos criados anteriormente
Antes de criar e implantar a VM, você deve criar uma rede virtual e associar uma interface de rede virtual a ela.
Importante
Aplicam-se as seguintes regras:
- Você pode criar apenas uma rede virtual, mesmo entre grupos de recursos. A rede virtual deve ter exatamente o mesmo espaço de endereço que a rede lógica.
- A rede virtual pode ter apenas uma sub-rede. A sub-rede deve ter exatamente o mesmo espaço de endereço que a rede virtual.
- Ao criar a placa de interface de rede virtual, você pode usar apenas o método de alocação estática. O usuário precisa fornecer um endereço IP privado.
Consultar a rede virtual criada automaticamente
Quando você habilita a computação a partir da interface do usuário local do seu dispositivo, uma rede virtual chamada ASEVNET
é criada automaticamente, sob o ASERG
grupo de recursos.
Use o seguinte comando para consultar a rede virtual existente:
$ArmVn = Get-AzVirtualNetwork -Name ASEVNET -ResourceGroupName ASERG
Criar uma interface de rede virtual
Criar uma placa de interface de rede virtual usando o ID de sub-rede de rede virtual.
Defina alguns parâmetros.
$IpConfigName = "<IP config name>" $NicName = "<Network interface name>"
Crie uma interface de rede virtual.
$ipConfig = New-AzNetworkInterfaceIpConfig -Name $IpConfigName -SubnetId $aRmVN.Subnets[0].Id $Nic = New-AzNetworkInterface -Name $NicName -ResourceGroupName $ResourceGroupName -Location DBELocal -IpConfiguration $IpConfig
Por padrão, um IP é atribuído dinamicamente à sua interface de rede a partir da rede habilitada para computação. Use o
-PrivateIpAddress parameter
se você estiver alocando um IP estático para sua interface de rede.Aqui está um exemplo de saída:
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>
Opcionalmente, ao criar uma placa de interface de rede virtual para uma VM, você pode passar o IP público. Nesse caso, o IP público retorna o IP privado.
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
Criar uma VM
Agora você pode usar a imagem da VM para criar uma VM e anexá-la à rede virtual criada anteriormente.
Defina o nome de usuário e a senha para entrar na VM que você deseja criar.
$pass = ConvertTo-SecureString "<Password>" -AsPlainText -Force; $cred = New-Object System.Management.Automation.PSCredential("<Enter username>", $pass)
Depois de criar e ativar a VM, use o nome de usuário e a senha anteriores para entrar nela.
Defina os parâmetros.
$VmName = "<VM name>" $ComputerName = "<VM display name>" $OsDiskName = "<OS disk name>"
Crie a VM.
$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
Aqui está um exemplo de saída.
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
Para descobrir o IP atribuído à VM que você criou, consulte a interface de rede virtual que você criou. Localize o e copie
PrivateIPAddress
o IP da sua VM. Aqui está um exemplo de saída.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>
Ligar-se à VM
Dependendo se você criou uma VM do Windows ou uma VM do Linux, as instruções de conexão podem ser diferentes.
Ligar a uma VM do Linux
Para se conectar a uma VM Linux, faça o seguinte:
Ligue-se à VM através do IP privado que transmitiu durante a criação da VM.
Abra uma sessão SSH para se conectar com o endereço IP.
ssh -l <username> <ip address>
No prompt, forneça a senha que você usou quando criou a VM.
Se você precisar fornecer a chave SSH, use este comando.
ssh -i c:/users/Administrator/.ssh/id_rsa Administrator@5.5.41.236
Aqui está um exemplo de saída quando você se conecta à 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>
Se você usou um endereço IP público durante a criação da VM, poderá usar esse IP para se conectar à VM. Para obter o IP público, execute o seguinte comando:
$publicIp = Get-AzPublicIpAddress -Name $PublicIp -ResourceGroupName $ResourceGroupName
Nesse caso, o IP público é o mesmo que o IP privado que você passou durante a criação da interface de rede virtual.
Ligar a uma VM do Windows
Para se conectar a uma VM do Windows, faça o seguinte:
Conecte-se à sua VM do Windows usando o protocolo RDP (Remote Desktop Protocol) por meio do IP que você passou durante a criação da VM.
No seu cliente, abra o RDP.
Vá para Iniciar e digite mstsc.
No painel Conexão de Área de Trabalho Remota , insira o endereço IP da VM e as credenciais de acesso usadas no arquivo de parâmetros de modelo de VM. Em seguida, selecione Conectar.
Nota
Talvez seja necessário aprovar a conexão a uma máquina não confiável.
Agora você está conectado à sua VM que é executada no dispositivo.
Gerenciar a VM
As seções a seguir descrevem algumas das operações comuns que você pode criar em seu dispositivo Azure Stack Edge Pro.
Listar VMs que estão sendo executadas no dispositivo
Para retornar uma lista de todas as VMs que estão sendo executadas em seu dispositivo Azure Stack Edge, execute este comando:
Get-AzVM -ResourceGroupName <String> -Name <String>
Para obter mais informações sobre esse cmdlet, consulte Get-AzVM.
Ativar a VM
Para ativar uma máquina virtual em execução no dispositivo, execute o seguinte cmdlet:
Start-AzVM [-Name] <String> [-ResourceGroupName] <String>
Para obter mais informações sobre esse cmdlet, consulte Start-AzVM.
Suspender ou desligar a VM
Para parar ou desligar uma máquina virtual em execução no dispositivo, execute o seguinte cmdlet:
Stop-AzVM [-Name] <String> [-StayProvisioned] [-ResourceGroupName] <String>
Para obter mais informações sobre esse cmdlet, consulte Stop-AzVM cmdlet.
Redimensionar a VM
Para redimensionar uma máquina virtual existente, execute os seguintes cmdlets:
Importante
Antes de redimensioná-lo, pare a VM sem o -StayProvisioned
sinalizador.
$vm = Get-AzVM [-Name] <String> [-ResourceGroupName] <String>
$vm.HardwareProfile.VmSize = <new size> - Example: "Standard_D3_v2"
$vm | Update-AzVM
Adicionar um disco de dados
Se os requisitos de carga de trabalho em sua VM aumentarem, talvez seja necessário adicionar um disco de dados. Para tal, execute o seguinte comando:
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
Elimine a VM
Para remover uma máquina virtual do dispositivo, execute o seguinte cmdlet:
Remove-AzVM [-Name] <String> [-ResourceGroupName] <String>
Para obter mais informações sobre esse cmdlet, consulte Remove-AzVm cmdlet.