Share via


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.