你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure CLI 通过开发测试实验室创建和管理虚拟机

本快速入门将指导你在实验室中进行创建、启动、连接、更新和清理开发计算机的操作。

开始之前:

  • 如果尚未创建实验室,此处提供相关说明。

  • 安装 Azure CLI。 若要开始,请运行 az login,创建与 Azure 的连接。

创建并验证虚拟机

在执行开发测试实验室相关命令之前,请使用 az account set 命令设置适当的 Azure 上下文:

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

用于创建虚拟机的命令为 az lab vm create。 实验室的资源组、实验室名称和虚拟机名称都是必需的。 其余参数因虚拟机的类型而异。

以下命令从 Azure 市场创建基于 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-name 和 subnet 参数。 有关详细信息,请参阅 az lab vm create

验证 VM 是否可用。

在启动并连接到 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 开发测试实验室的 Azure CLI 文档