快速入门:在 Azure 上使用 Azure CLI 创建 Linux 虚拟机
适用于:✔️ Linux VM
本快速入门介绍了如何使用 Azure CLI 在 Azure 中部署 Linux 虚拟机 (VM)。 Azure CLI 用于从命令行或脚本创建和管理 Azure 资源。
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
启动 Azure 本地 Shell
如果希望在本地安装并使用 CLI,则本快速入门需要 Azure CLI version 2.0.30 或更高版本。 运行 az --version
即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。
注意
在可以在由世纪互联运营的 Microsoft Azure 中使用 Azure CLI 之前,请先运行 az cloud set -n AzureChinaCloud
来更改云环境。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud
。
使用 CLI 登录到 Azure
要使用 CLI 在 Azure 中运行命令,首先需要登录。 使用 az login
命令登录。
创建资源组
资源组是相关资源的容器。 所有资源都必须在资源组中部署。 az group create 命令创建具有前面定义的 $MY_RESOURCE_GROUP_NAME 和 $REGION 参数的资源组。
export RANDOM_ID="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myVMResourceGroup$RANDOM_ID"
export REGION=chinanorth2
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
结果:
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myVMResourceGroup",
"location": "chinanorth2",
"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
映像。
所有其他值都使用环境变量进行配置。
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"
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": "chinanorth2",
"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