Criar e gerir máquinas virtuais com o DevTest Labs com a CLI do Azure
Este início rápido irá orientá-lo ao longo da criação, início, ligação, atualização e limpeza de uma máquina de desenvolvimento no seu laboratório.
Antes de começar:
Se não tiver sido criado um laboratório, podem ser encontradas instruções aqui.
Instale a CLI do Azure. Para começar, execute az login para criar uma ligação com o Azure.
Criar e verificar a máquina virtual
Antes de executar comandos relacionados com o DevTest Labs, defina o contexto adequado do Azure com o az account set
comando:
az account set --subscription 11111111-1111-1111-1111-111111111111
O comando para criar uma máquina virtual é: az lab vm create
. O grupo de recursos do laboratório, o nome do laboratório e o nome da máquina virtual são todos necessários. Os restantes argumentos mudam consoante o tipo de máquina virtual.
O comando seguinte cria uma imagem baseada no Windows a partir do Azure Market Place. O nome da imagem é o mesmo que veria ao criar uma máquina virtual com o portal do Azure.
az lab vm create --resource-group DtlResourceGroup --lab-name MyLab --name 'MyTestVm' --image "Visual Studio Community 2017 on Windows Server 2016 (x64)" --image-type gallery --size 'Standard_D2s_v3' --admin-username 'AdminUser' --admin-password 'Password1!'
O seguinte comando cria uma máquina virtual com base numa imagem personalizada disponível no laboratório:
az lab vm create --resource-group DtlResourceGroup --lab-name MyLab --name 'MyTestVm' --image "My Custom Image" --image-type custom --size 'Standard_D2s_v3' --admin-username 'AdminUser' --admin-password 'Password1!'
O argumento de tipo de imagem mudou de galeria para personalizado. O nome da imagem corresponde ao que vê se pretende criar a máquina virtual no portal do Azure.
O seguinte comando cria uma VM a partir de uma imagem do marketplace com autenticação ssh:
az lab vm create --lab-name sampleLabName --resource-group sampleLabResourceGroup --name sampleVMName --image "Ubuntu Server 16.04 LTS" --image-type gallery --size Standard_DS1_v2 --authentication-type ssh --generate-ssh-keys --ip-configuration public
Também pode criar máquinas virtuais com base em fórmulas ao definir o parâmetro de tipo de imagem como fórmula. Se precisar de escolher uma rede virtual específica para a sua máquina virtual, utilize os parâmetros vnet-name e sub-rede . Para obter mais informações, veja az lab vm create.
Verifique se a VM está disponível.
Utilize o az lab vm show
comando para verificar se a VM está disponível antes de iniciar e ligar à mesma.
az lab vm show --lab-name sampleLabName --name sampleVMName --resource-group sampleResourceGroup --expand 'properties($expand=ComputeVm,NetworkInterface)' --query '{status: computeVm.statuses[0].displayStatus, fqdn: fqdn, ipAddress: networkInterface.publicIpAddress}'
{
"fqdn": "lisalabvm.southcentralus.cloudapp.azure.com",
"ipAddress": "13.85.228.112",
"status": "Provisioning succeeded"
}
Iniciar e ligar à máquina virtual
O seguinte comando de exemplo inicia uma VM:
az lab vm start --lab-name sampleLabName --name sampleVMName --resource-group sampleLabResourceGroup
Ligar a uma VM: SSH ou Ambiente de Trabalho Remoto.
ssh userName@ipAddressOrfqdn
Atualizar a máquina virtual
O seguinte comando de exemplo aplica artefactos a uma VM:
az lab vm apply-artifacts --lab-name sampleLabName --name sampleVMName --resource-group sampleResourceGroup --artifacts @/artifacts.json
[
{
"artifactId": "/artifactSources/public repo/artifacts/linux-java",
"parameters": []
},
{
"artifactId": "/artifactSources/public repo/artifacts/linux-install-nodejs",
"parameters": []
},
{
"artifactId": "/artifactSources/public repo/artifacts/linux-apt-package",
"parameters": [
{
"name": "packages",
"value": "abcd"
},
{
"name": "update",
"value": "true"
},
{
"name": "options",
"value": ""
}
]
}
]
Listar artefactos disponíveis no laboratório
Para listar artefactos disponíveis numa VM num laboratório, execute os seguintes comandos.
Cloud Shell - PowerShell: repare na utilização do backtick (') antes do $in $expand (ou seja, '$expand):
az lab vm show --resource-group <resourcegroupname> --lab-name <labname> --name <vmname> --expand "properties(`$expand=artifacts)" --query "artifacts[].{artifactId: artifactId, status: status}"
Cloud Shell - Bash: repare na utilização do caráter de barra (\) à frente de $ no comando.
az lab vm show --resource-group <resourcegroupname> --lab-name <labname> --name <vmname> --expand "properties(\$expand=artifacts)" --query "artifacts[].{artifactId: artifactId, status: status}"
Resultado do exemplo:
[
{
"artifactId": "/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.DevTestLab/labs/<lab name>/artifactSources/public repo/artifacts/windows-7zip",
"status": "Succeeded"
}
]
Parar e eliminar a máquina virtual
O seguinte comando de exemplo para uma VM.
az lab vm stop --lab-name sampleLabName --name sampleVMName --resource-group sampleResourceGroup
Eliminar uma VM.
az lab vm delete --lab-name sampleLabName --name sampleVMName --resource-group sampleResourceGroup
Passos seguintes
Veja o seguinte conteúdo: documentação da CLI do Azure para Azure DevTest Labs.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários