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

快速入门:在 Azure 上使用 Azure CLI 创建 Linux 虚拟机

适用于:✔️ Linux VM

部署到 Azure

本快速入门介绍了如何使用 Azure CLI 在 Azure 中部署 Linux 虚拟机 (VM)。 Azure CLI 用于从命令行或脚本创建和管理 Azure 资源。

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

启动 Azure Cloud Shell

Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。

若要打开 Cloud Shell,只需要从代码块的右上角选择“试一试”。 也可以在单独的浏览器标签页中通过转到 https://shell.azure.com/bash 打开 Cloud Shell。 选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后选择 Enter 来运行它。

如果希望在本地安装并使用 CLI,则本快速入门需要 Azure CLI version 2.0.30 或更高版本。 运行 az --version 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI

定义环境变量

第一步是定义环境变量。 环境变量通常用于在 Linux 中集中配置数据,以提高系统的一致性和可维护性。 创建以下环境变量,以指定本教程稍后创建的资源的名称:

export RANDOM_ID="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myVMResourceGroup$RANDOM_ID"
export REGION=EastUS
export MY_VM_NAME="myVM$RANDOM_ID"
export MY_USERNAME=azureuser
export MY_VM_IMAGE="Canonical:0001-com-ubuntu-minimal-jammy:minimal-22_04-lts-gen2:latest"

使用 CLI 登录到 Azure

要使用 CLI 在 Azure 中运行命令,首先需要登录。 使用 az login 命令登录。

创建资源组

资源组是相关资源的容器。 所有资源都必须在资源组中部署。 az group create 命令创建具有前面定义的 $MY_RESOURCE_GROUP_NAME 和 $REGION 参数的资源组。

az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION

结果:

{
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myVMResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myVMResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

创建虚拟机

要在此资源组中创建 VM,请使用 vm create 命令。

以下示例将创建 VM 并添加用户帐户。 --generate-ssh-keys 参数会导致 CLI 在 ~/.ssh 中查找可用的 ssh 密钥。 如果找到一个,则使用此密钥。 否则,将会生成一个密钥并存储在 ~/.ssh 中。 --public-ip-sku Standard 参数可确保能够通过公共 IP 地址访问该计算机。 最后,我们将部署最新的 Ubuntu 22.04 映像。

所有其他值都使用环境变量进行配置。

az vm create \
    --resource-group $MY_RESOURCE_GROUP_NAME \
    --name $MY_VM_NAME \
    --image $MY_VM_IMAGE \
    --admin-username $MY_USERNAME \
    --assign-identity \
    --generate-ssh-keys \
    --public-ip-sku Standard

创建 VM 和支持资源需要几分钟时间。 以下示例输出表明 VM 创建操作已成功。

结果:

{
  "fqdns": "",
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-10-4F-70",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.147.208.85",
  "resourceGroup": "myVMResourceGroup",
  "zones": ""
}

在 Azure 中为 Linux 虚拟机启用 Azure AD 登录

以下代码示例部署了一台 Linux VM,然后安装扩展以启用适用于 Linux VM 的 Azure AD 登录。 VM 扩展是小型应用程序,可在 Azure 虚拟机上提供部署后配置和自动化任务。

az vm extension set \
    --publisher Microsoft.Azure.ActiveDirectory \
    --name AADSSHLoginForLinux \
    --resource-group $MY_RESOURCE_GROUP_NAME \
    --vm-name $MY_VM_NAME

存储 VM 的 IP 地址,以通过 SSH 进行连接

运行以下命令以将 VM 的 IP 地址存储为环境变量:

export IP_ADDRESS=$(az vm show --show-details --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query publicIps --output tsv)

通过 SSH 登录到 VM

现在,可以在所选 SSH 客户端中运行以下命令的输出来通过 SSH 连接到 VM:

ssh -o StrictHostKeyChecking=no $MY_USERNAME@$IP_ADDRESS

后续步骤