使用 Azure CLI 在 DevTest Labs 中建立和管理虛擬機器

本快速入門會引導您完成建立、啟動、連線、更新和清理實驗室中的開發機器。

在開始之前:

  • 若尚未建立實驗室,請參閱這裡的指示。

  • 安裝 Azure CLI。 若要開始,請執行 az login 建立 Azure 連線。

建立並確認虛擬機器

請先使用 az account set 命令來設定適當的 Azure 內容,再執行 DevTest Labs 相關命令:

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

建立虛擬機器的命令為:az lab vm create。 實驗室、實驗室名稱和虛擬機器名稱的資源群組都是必要項目。 其餘引數會根據虛擬機器的類型而變更。

下列命令會從 Azure Market Place 建立 Windows 型映像。 映像名稱會與您在使用 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!'

下列命令會根據實驗室中可用的自訂映像來建立虛擬機器:

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

image-type 引數已從 gallery 變更為 custom。 映像名稱符合您在 Azure 入口網站中建立虛擬機器時所看到的名稱。

下列命令會從具有 ssh 驗證的市集映像來建立 VM:

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 

您也可以將 image-type 參數設定為 formula,以根據公式來建立虛擬機器。 如果您需要為虛擬機器選擇特定虛擬網路,則請使用 vnet-namesubnet 參數。 如需詳細資訊,請參閱 az lab vm create

確認有可用的 VM。

使用 az lab vm show 命令,先確認具有 VM,再將其啟動並連線。

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

啟動並連接至虛擬機器

下列範例命令會啟動 VM:

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

連接到 VM:SSH遠端桌面

ssh userName@ipAddressOrfqdn 

更新虛擬機器

下列範例命令會將成品套用至 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": ""
      }
    ]
  } 
]

列出實驗室中可用的成品

若要列出實驗室 VM 中可用的成品,請執行下列命令。

Cloud Shell - PowerShell:請注意會在 $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:請注意會在命令的 $ 前面使用斜線 (\) 字元。

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

範例輸出:

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

停止並刪除虛擬機器

下列範例命令會停止 VM。

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

刪除 VM。

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

下一步

請參閱下列內容:Azure DevTest Labs 的 Azure CLI 文件