Créer et gérer des machines virtuelles avec DevTest Labs à l’aide de l’interface de ligne de commande Azure

Ce guide de démarrage rapide vous montre pas à pas comment créer, démarrer, vous connecter à, mettre à jour et nettoyer une machine de développement dans votre lab.

Avant de commencer :

Créer et vérifier la machine virtuelle

Avant d’exécuter les commandes DevTest Labs, définissez le contexte Azure approprié à l’aide de la commande az account set :

az account set --subscription 11111111-1111-1111-1111-111111111111

La commande de création d’une machine virtuelle est celle-ci : az lab vm create. Le nom du groupe de ressources du lab, le nom du lab et le nom de la machine virtuelle sont des arguments obligatoires. Les autres arguments varient selon le type de la machine virtuelle.

La commande suivante crée une image basée sur Windows à partir de la Place de marché Azure. Le nom de l’image est identique à celui que vous voyez quand vous créez une machine virtuelle par le biais du portail 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!'

La commande suivante crée une machine virtuelle basée sur une image personnalisée disponible dans le lab :

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!'

L’argument image-type est passé de gallery à custom. Le nom de l’image est identique à celui que vous voyez quand vous créez une machine virtuelle par le biais du portail Azure.

La commande suivante crée une machine virtuelle à partir d’une image de la Place du marché avec authentification 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 

Vous pouvez également créer des machines virtuelles basées sur des formules en définissant le paramètre image-type sur formula. Si vous devez choisir un réseau virtuel spécifique pour votre machine virtuelle, utilisez les paramètres vnet-name et subnet. Pour plus d’informations, consultez az lab vm create.

Vérifiez la disponibilité de la machine virtuelle.

Utilisez la commande az lab vm show pour vérifier que la machine virtuelle est disponible avant de la démarrer et de vous y connecter.

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"
}

Démarrer et se connecter à la machine virtuelle

La commande suivante démarre une machine virtuelle :

az lab vm start --lab-name sampleLabName --name sampleVMName --resource-group sampleLabResourceGroup

Se connecter à une machine virtuelle : SSH ou Bureau à distance.

ssh userName@ipAddressOrfqdn 

Mettre à jour la machine virtuelle

La commande suivante applique des artefacts à une machine virtuelle :

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": ""
      }
    ]
  } 
]

Lister les artefacts disponibles dans le laboratoire

Pour lister les artefacts disponibles dans une machine virtuelle d'un laboratoire, exécutez les commandes suivantes.

Cloud Shell - PowerShell : notez l’utilisation du guillemet inverse (`) devant $ dans $expand (`$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 : notez l’utilisation de la barre oblique (\) devant $ dans la commande.

az lab vm show --resource-group <resourcegroupname> --lab-name <labname> --name <vmname> --expand "properties(\$expand=artifacts)" --query "artifacts[].{artifactId: artifactId, status: status}"

Exemple de sortie :

[
  {
    "artifactId": "/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.DevTestLab/labs/<lab name>/artifactSources/public repo/artifacts/windows-7zip",
    "status": "Succeeded"
  }
]

Arrêter et supprimer la machine virtuelle

La commande suivante arrête une machine virtuelle.

az lab vm stop --lab-name sampleLabName --name sampleVMName --resource-group sampleResourceGroup

Supprimez une machine virtuelle.

az lab vm delete --lab-name sampleLabName --name sampleVMName --resource-group sampleResourceGroup

Étapes suivantes

Consultez le contenu suivant : Documentation Azure CLI pour Azure DevTest Labs.