Criar e gerenciar máquinas virtuais com o DevTest Labs usando a CLI do Azure
Este guia de início rápido irá guiá-lo através da criação, inicialização, conexão, atualização e limpeza de uma máquina de desenvolvimento em seu laboratório.
Antes de começar:
Se um laboratório não tiver sido criado, as instruções podem ser encontradas aqui.
Instale a CLI do Azure. Para começar, execute az login para criar uma conexão com o Azure.
Criar e verificar a máquina virtual
Antes de executar comandos relacionados ao DevTest Labs, defina o contexto apropriado do Azure usando 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 para o laboratório, o nome do laboratório e o nome da máquina virtual são todos necessários. O restante dos argumentos muda dependendo do tipo de máquina virtual.
O comando a seguir cria uma imagem baseada no Windows do Azure Market Place. O nome da imagem é o mesmo que você veria ao criar uma máquina virtual usando 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 comando a seguir cria uma máquina virtual com base em uma 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 foi alterado de galeria para personalizado. O nome da imagem corresponde ao que você vê se criar a máquina virtual no portal do Azure.
O comando a seguir 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
Você também pode criar máquinas virtuais com base em fórmulas definindo o parâmetro image-type como fórmula. Se você precisar escolher uma rede virtual específica para sua máquina virtual, use os parâmetros vnet-name e sub-rede . Para obter mais informações, consulte az lab vm create.
Verifique se a VM está disponível.
Use o az lab vm show
comando para verificar se a VM está disponível antes de iniciar e se conectar a ela.
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 conectar-se à máquina virtual
O comando de exemplo a seguir inicia uma VM:
az lab vm start --lab-name sampleLabName --name sampleVMName --resource-group sampleLabResourceGroup
Conecte-se a uma VM: SSH ou Área de Trabalho Remota.
ssh userName@ipAddressOrfqdn
Atualizar a máquina virtual
O comando de exemplo a seguir aplica artefatos 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 artefatos disponíveis no laboratório
Para listar artefatos disponíveis em uma VM em um laboratório, execute os seguintes comandos.
Cloud Shell - PowerShell: observe o uso do backtick (') antes do $ em $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: observe o uso do caractere de barra (\) na 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}"
Saída de 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 excluir a máquina virtual
O comando de exemplo a seguir interrompe 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
Próximos passos
Consulte o seguinte conteúdo: Documentação da CLI do Azure para o Azure DevTest Labs.