Creare e gestire macchine virtuali con DevTest Labs tramite l'interfaccia della riga di comando di Azure
Questa guida introduttiva illustra come creare, avviare, connettere, aggiornare e pulire un computer di sviluppo nel lab.
Prima di iniziare:
Se il lab non è stato creato, le istruzioni sono disponibili qui.
Installare l'interfaccia della riga di comando di Azure Per iniziare, eseguire az login per creare una connessione con Azure.
Prima di eseguire i comandi correlati a DevTest Labs, impostare il contesto di Azure appropriato usando il az account set
comando :
az account set --subscription 11111111-1111-1111-1111-111111111111
Il comando per creare una macchina virtuale è: az lab vm create
. Il gruppo di risorse per il lab, il nome del lab e il nome della macchina virtuale sono tutti obbligatori. Il resto degli argomenti cambia a seconda del tipo di macchina virtuale.
Il comando seguente crea un'immagine basata su Windows da Azure Market Place. Il nome dell'immagine corrisponde a quello visualizzato durante la creazione di una macchina virtuale usando il portale di 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!'
Il comando seguente crea una macchina virtuale basata su un'immagine personalizzata disponibile nel 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'argomento di tipo immagine è stato modificato da raccolta a personalizzato. Il nome dell'immagine corrisponde a ciò che viene visualizzato se si desidera creare la macchina virtuale nel portale di Azure.
Il comando seguente crea una macchina virtuale da un'immagine del marketplace con l'autenticazione 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
È anche possibile creare macchine virtuali in base alle formule impostando il parametro image-type sulla formula. Se è necessario scegliere una rete virtuale specifica per la macchina virtuale, usare i parametri vnet-name e subnet . Per altre informazioni, vedere az lab vm create.
Usare il az lab vm show
comando per verificare che la macchina virtuale sia disponibile prima di iniziare e connettersi.
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"
}
Il comando di esempio seguente avvia una macchina virtuale:
az lab vm start --lab-name sampleLabName --name sampleVMName --resource-group sampleLabResourceGroup
Connettersi a una VM: SSH o Desktop remoto.
ssh userName@ipAddressOrfqdn
Il comando di esempio seguente applica elementi a una macchina virtuale:
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": ""
}
]
}
]
Per elencare gli artefatti disponibili in una macchina virtuale in un lab, eseguire i comandi seguenti.
Cloud Shell - PowerShell: si noti l'uso del backtick (') prima di $ in $expand (ad esempio "$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: si noti l'uso del carattere barra (\) davanti a $ nel comando .
az lab vm show --resource-group <resourcegroupname> --lab-name <labname> --name <vmname> --expand "properties(\$expand=artifacts)" --query "artifacts[].{artifactId: artifactId, status: status}"
Output di esempio:
[
{
"artifactId": "/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.DevTestLab/labs/<lab name>/artifactSources/public repo/artifacts/windows-7zip",
"status": "Succeeded"
}
]
Il comando di esempio seguente arresta una macchina virtuale.
az lab vm stop --lab-name sampleLabName --name sampleVMName --resource-group sampleResourceGroup
Eliminare una VM.
az lab vm delete --lab-name sampleLabName --name sampleVMName --resource-group sampleResourceGroup
Vedere il contenuto seguente: documentazione dell'interfaccia della riga di comando di Azure per Azure DevTest Labs.