使用 Azure CLI 创建和管理 Linux VM
Azure 虚拟机提供完全可配置的灵活计算环境。 本教程介绍 Azure 虚拟机的基本部署项目,例如选择 VM 大小、选择 VM 映像和部署 VM。 你将学习如何执行以下操作:
- 创建并连接到 VM
- 选择并使用 VM 映像
- 查看和使用特定 VM 大小
- 调整 VM 的大小
- 查看并了解 VM 状态
Note
在 Azure 中国区使用 Azure CLI 2.0 之前,请先运行 az cloud set -n AzureChinaCloud
来改变云环境。如果想切回国际版 Azure,请再次运行 az cloud set -n AzureCloud
。
如果选择在本地安装并使用 CLI,本教程要求运行 Azure CLI 2.0.4 或更高版本。 运行 az --version
即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI 2.0。
创建资源组
使用 az group create 命令创建资源组。
Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。 必须在创建虚拟机前创建资源组。 在此示例中,在“chinaeast”区域中创建了名为“myResourceGroupVM”的资源组。
az group create --name myResourceGroupVM --location chinaeast
创建或修改 VM 时指定资源组,本教程会对此进行演示。
创建虚拟机
使用 az vm create 命令创建虚拟机。
创建虚拟机时,可使用多个选项,例如操作系统映像、磁盘大小调整和管理凭据。 在此示例中,创建了一个名为“myVM”的运行 Ubuntu Server 的虚拟机。
az vm create --resource-group myResourceGroupVM --name myVM --image UbuntuLTS --generate-ssh-keys
创建 VM 可能需要几分钟。 创建 VM 后,Azure CLI 会输出有关 VM 的信息。 请记下 publicIpAddress
,可以使用此地址访问虚拟机。
{
"fqdns": "",
"id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "chinaeast",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.174.34.95",
"resourceGroup": "myResourceGroupVM"
}
连接到 VM
现在可以使用 SSH 从本地计算机连接到 VM。 将示例 IP 地址替换为上一步骤中记下的 publicIpAddress
。
ssh 52.174.34.95
登录 VM 后,可以安装和配置应用程序。 完成后,可按正常方式关闭 SSH 会话:
exit
了解 VM 映像
Azure 应用商店包括许多可用于创建 VM 的映像。 在之前的步骤中,使用 Ubuntu 映像创建了虚拟机。 在此步骤中,Azure CLI 用于在应用商店中搜索 CentOS 映像,此映像稍后将用于部署第二个虚拟机。
若要查看最常用映像的列表,请使用 az vm image list 命令。
az vm image list --output table
命令输出返回 Azure 上最常用的 VM 映像。
Offer Publisher Sku Urn UrnAlias Version
------------- ---------------------- ------------------ -------------------------------------------------------------- ------------------- ---------
WindowsServer MicrosoftWindowsServer 2016-Datacenter MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest Win2016Datacenter latest
WindowsServer MicrosoftWindowsServer 2012-R2-Datacenter MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest Win2012R2Datacenter latest
WindowsServer MicrosoftWindowsServer 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:latest UbuntuLTS latest
CentOS OpenLogic 7.3 OpenLogic:CentOS:7.3:latest CentOS latest
openSUSE-Leap SUSE 42.2 SUSE:openSUSE-Leap:42.2:latest openSUSE-Leap latest
RHEL RedHat 7.3 RedHat:RHEL:7.3:latest RHEL latest
SLES SUSE 12-SP2 SUSE:SLES:12-SP2:latest SLES latest
Debian credativ 8 credativ:Debian:8:latest Debian latest
CoreOS CoreOS Stable CoreOS:CoreOS:Stable:latest CoreOS latest
可以通过添加 --all
参数查看完整列表。 还可以按 --publisher
或 --offer
筛选映像列表。 在此示例中,已在列表中筛选出其产品与“CentOS”匹配的所有映像。
az vm image list --offer CentOS --all --output table
部分输出:
Offer Publisher Sku Urn Version
---------------- ---------------- ---- -------------------------------------- -----------
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.201501 6.5.201501
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.201503 6.5.201503
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.201506 6.5.201506
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.20150904 6.5.20150904
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.20160309 6.5.20160309
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.20170207 6.5.20170207
若要使用特定映像部署 VM,请记下“Urn”列中的值。 指定映像时,可将映像版本号替换为“latest”,这会选择最新的发行版。 在此示例中,--image
参数用于指定最新版本的 CentOS 6.5 映像。
az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:6.5:latest --generate-ssh-keys
了解 VM 大小
虚拟机大小决定虚拟机可用计算资源(如 CPU、GPU 和内存)的数量。 需要根据预期的工作负载适当调整虚拟机的大小。 如果工作负荷增加,可调整现有虚拟机的大小。
VM 大小
下表将大小分类成了多个用例。
类型 | 大小 | 说明 |
---|---|---|
常规用途 | DSv2、Dv2、DS、D、Av2、A0-7 | CPU 与内存之比均衡。 适用于开发/测试、小到中型应用程序和数据解决方案。 |
计算优化 | Fs, F | 高 CPU 与内存之比。 适用于中等流量的应用程序、网络设备和批处理。 |
内存优化 | DSv2、DS、Dv2、D | 较高的内存核心比。 适用于关系数据库、中到大型缓存和内存中分析。 |
查找可用的 VM 大小
若要查看在特定区域可用的 VM 大小的列表,请使用 az vm list-sizes 命令。
az vm list-sizes --location chinaeast --output table
部分输出:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
2 3584 Standard_DS1 1 1047552 7168
4 7168 Standard_DS2 2 1047552 14336
8 14336 Standard_DS3 4 1047552 28672
16 28672 Standard_DS4 8 1047552 57344
4 14336 Standard_DS11 2 1047552 28672
8 28672 Standard_DS12 4 1047552 57344
16 57344 Standard_DS13 8 1047552 114688
32 114688 Standard_DS14 16 1047552 229376
1 768 Standard_A0 1 1047552 20480
2 1792 Standard_A1 1 1047552 71680
4 3584 Standard_A2 2 1047552 138240
8 7168 Standard_A3 4 1047552 291840
4 14336 Standard_A5 2 1047552 138240
16 14336 Standard_A4 8 1047552 619520
8 28672 Standard_A6 4 1047552 291840
16 57344 Standard_A7 8 1047552 619520
创建具有特定大小的 VM
在前面的 VM 创建示例中未提供大小,因此会使用默认大小。 可以在创建时使用 az vm create 和 --size
参数选择 VM 大小。
az vm create \
--resource-group myResourceGroupVM \
--name myVM3 \
--image UbuntuLTS \
--size Standard_F4s \
--generate-ssh-keys
调整 VM 的大小
部署 VM 后,可调整其大小以增加或减少资源分配。 可通过 az vm show 查看 VM 的当前大小:
az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize
调整 VM 大小之前,请检查所需的大小在当前 Azure 群集上是否可用。 az vm list-vm-resize-options 命令返回大小列表。
az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name
如果所需大小可用,则可从开机状态调整 VM 大小,但需在此操作期间重启 VM。 使用 az vm resize 命令执行大小调整。
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_DS4_v2
如果所需大小在当前群集上不可用,则需解除分配 VM,然后才能执行调整大小操作。 使用 az vm deallocate 命令停止和解除分配 VM。 请注意,重新打开 VM 的电源时,可能会删除临时磁盘上的所有数据。 除非使用静态 IP 地址,否则公共 IP 地址也会更改。
az vm deallocate --resource-group myResourceGroupVM --name myVM
解除分配后,可能会发生大小调整。
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1
调整大小后,可以启动 VM。
az vm start --resource-group myResourceGroupVM --name myVM
VM 电源状态
Azure VM 可能会处于多种电源状态之一。 从虚拟机监控程序的角度来看,此状态表示 VM 的当前状态。
电源状态
电源状态 | 说明 |
---|---|
正在启动 | 指示正在启动虚拟机。 |
正在运行 | 指示虚拟机正在运行。 |
正在停止 | 指示正在停止虚拟机。 |
已停止 | 指示虚拟机已停止。 虚拟机处于停止状态时仍会产生计算费用。 |
正在解除分配 | 指示正在解除分配虚拟机。 |
已解除分配 | 指示虚拟机已从虚拟机监控程序中删除,但仍可在控制面板中使用。 处于“已解除分配”状态的虚拟机不会产生计算费用。 |
- | 指示虚拟机的电源状态未知。 |
查找电源状态
若要检索特定 VM 的状态,请使用 az vm get instance-view 命令。 请确保为虚拟机和资源组指定有效的名称。
az vm get-instance-view \
--name myVM \
--resource-group myResourceGroupVM \
--query instanceView.statuses[1] --output table
输出:
ode DisplayStatus Level
------------------ --------------- -------
PowerState/running VM running Info
管理任务
在虚拟机生命周期中,可能需要运行管理任务,例如启动、停止或删除虚拟机。 此外,可能还需要创建脚本来自动执行重复或复杂的任务。 使用 Azure CLI,可从命令行或脚本运行许多常见的管理任务。
获取 IP 地址
此命令返回虚拟机的私有 IP 地址和公共 IP 地址。
az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table
停止虚拟机
az vm stop --resource-group myResourceGroupVM --name myVM
启动虚拟机
az vm start --resource-group myResourceGroupVM --name myVM
删除资源组
删除资源组还会删除其包含的所有资源,例如 VM、虚拟网络和磁盘。 --no-wait
参数会使光标返回提示符处,不会等待操作完成。 --yes
参数将确认是否希望删除资源,不会显示询问是否删除的额外提示。
az group delete --name myResourceGroupVM --no-wait --yes
后续步骤
在本教程中,你已学习 VM 创建和管理的基本知识,例如如何:
- 创建并连接到 VM
- 选择并使用 VM 映像
- 查看和使用特定 VM 大小
- 调整 VM 的大小
- 查看并了解 VM 状态
请转到下一教程,了解 VM 磁盘。
立即访问http://market.azure.cn
使用 Azure CLI 创建和管理 Linux VM的更多相关文章
- 排查在 Azure 中创建、重启 Linux VM 或调整其大小时发生的分配故障
创建 VM.重启已停止(解除分配)的 VM 和重设 VM 大小时,Azure 会为订阅分配计算资源. 执行这些操作时,即使尚未达到 Azure 订阅限制,也可能偶尔收到错误. 本文说明一些常见分配故障 ...
- 排查在 Azure 中创建、重启 Windows VM 或调整其大小时发生的分配失败
创建 VM.重新启动已停止(解除分配)的 VM 和重设 VM 大小时,Azure 会为订阅分配计算资源. 执行这些操作时,即使尚未达到 Azure 订阅限制,也可能偶尔收到错误. 本文说明一些常见分配 ...
- 学习使用azure CLI创建linux环境
学习使用azure CLI创建linux环境 选用了容器的方法来登录 docker run -it microsoft/azure-cli 进入交互界面后登录到我的订阅 azure login -e ...
- 使用Azure CLI创建Linux虚拟机
Azure提供了三种方式创建虚拟机,分别是Azure CLI.Azure PowerShell和Azure门户.本文介绍使用Azure CLI来创建Linux虚拟机. 使用Azure CLI创建Lin ...
- 使用 Azure CLI 创建 Linux 虚拟机
Azure CLI 用于从命令行或脚本创建和管理 Azure 资源. 本指南详细介绍了如何使用 Azure CLI 部署运行 Ubuntu 服务器的虚拟机. 服务器部署以后,将创建 SSH 连接,并且 ...
- 在Global Azure上用Azure CLI创建ARM的VM和面向公网的负载均衡
在Global的Azure上,新的Portal和ARM已经正式发布.将来传统的portal和ASM将逐渐淡出. China Azure将在今年下半年推出新的Portal管理界面和ARM功能(即IaaS ...
- 使用 Azure PowerShell 模块创建和管理 Windows VM
Azure 虚拟机提供完全可配置的灵活计算环境. 本教程介绍 Azure 虚拟机的基本部署项目,例如选择 VM 大小.选择 VM 映像和部署 VM. 你将学习如何执行以下操作: 创建并连接到 VM 选 ...
- 使用 Azure CLI 创建 Windows 虚拟机
Azure CLI 用于从命令行或脚本创建和管理 Azure 资源. 本指南详细介绍如何使用 Azure CLI 部署运行 Windows Server 2016 的虚拟机. 部署完成后,我们连接到服 ...
- 使用 Azure CLI 创建虚拟机
使用 az vm create 命令创建虚拟机. 创建虚拟机时,可使用多个选项,例如操作系统映像.磁盘大小调整和管理凭据. 在此示例中,创建了一个名为“myVM”的运行 Ubuntu Server 的 ...
随机推荐
- ssh 登录进入 docker container
1.Container安装ssh服务,博主的linux是centos ① 安装ssh sudo yum install openssh-server #安装ssh服务器 service sshd st ...
- springcloud-07-eureka HA的高可用配置
单机版的eureka, 运行时间稍长, 就会在管理界面出现红色的警告, 为了消除这个警告, 可以使用eureka的高可用配置: 只需要写一个工程配置不同的配置文件, 然后启动多实例即可: 请参照单机版 ...
- mysql修改存储过程的权限
直接上代码 grant execute on procedure 表名.存储过程名(eg: student.find) to '用户名'@'host'(eg: 'volumelicense'@'%') ...
- (技术分享) 解决 Firefox 显示“已阻止载入混合活动内容”的问题
(摘自http://blog.aizhet.com/Windows/18415.html) 从 Firefox 18 开始,如果 HTTPS 页面中包含非加密的 HTTP 内容,浏览器会在控制台输出警 ...
- Java8常用新特性实践
前言: 时下Oracle开速迭代的Java社区以即将推出Java10,但尴尬的是不少小中企业仍使用JDK7甚至JDK6开发. 从上面列出的JDK8特性中我们可以发现Java8的部分特性很明显的是从Sc ...
- .NET创建WebService服务简单的例子
Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 WebService的特性有以下几点: 1.使用XML(标准通用标记语言)来作为数据交互 ...
- jQuery源码分析-03构造jQuery对象-源码结构和核心函数
3. 构造jQuery对象 3.1源码结构 先看看总体结构,再做分解: (function( window, undefined ) { var jQuery = (function() { // 构 ...
- 【JavaScript 从零开始】表达式和运算符(1)
原始表达式 最简单的表达式是"原始表达式"(primary expression).JavaScript中的原始表达式包含常量或直接量.关键字和变量. // 常量或直接量 1.23 ...
- [HTML5] Canvas绘制简单图片
获取Image对象,new出来 定义Image对象的src属性,参数:图片路径 定义Image对象的onload方法,调用context对象的drawImage()方法,参数:Image对象,x坐标, ...
- CALayer及其子类
前言:这个系列要更新Core Animation的内容,但是CALayer是Core Animation的基础. 一 CALayer是什么? 摘自官网的一句话-Layers Provide the B ...