使用 Azure CLI 创建和管理 Linux VM

2017-11-16  本文已影响35人  ITknight

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”的资源组。

Azure CLI复制

azgroupcreate--namemyResourceGroupVM--locationchinaeast

创建或修改 VM 时指定资源组,本教程会对此进行演示。

创建虚拟机

使用az vm create命令创建虚拟机。

创建虚拟机时,可使用多个选项,例如操作系统映像、磁盘大小调整和管理凭据。 在此示例中,创建了一个名为“myVM”的运行 Ubuntu Server 的虚拟机。

Azure CLI复制

azvmcreate--resource-groupmyResourceGroupVM--namemyVM--imageUbuntuLTS--generate-ssh-keys

创建 VM 可能需要几分钟。 创建 VM 后,Azure CLI 会输出有关 VM 的信息。 请记下publicIpAddress,可以使用此地址访问虚拟机。

Azure CLI复制

{"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。

bash复制

ssh 52.174.34.95

登录 VM 后,可以安装和配置应用程序。 完成后,可按正常方式关闭 SSH 会话:

bash复制

exit

了解 VM 映像

Azure 应用商店包括许多可用于创建 VM 的映像。 在之前的步骤中,使用 Ubuntu 映像创建了虚拟机。 在此步骤中,Azure CLI 用于在应用商店中搜索 CentOS 映像,此映像稍后将用于部署第二个虚拟机。

若要查看最常用映像的列表,请使用az vm image list命令。

Azure CLI复制

azvmimagelist--outputtable

命令输出返回 Azure 上最常用的 VM 映像。

bash复制

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”匹配的所有映像。

Azure CLI复制

azvmimagelist--offerCentOS--all--outputtable

部分输出:

Azure CLI复制

Offer            Publisher        Sku  Urn                                    Version-------------------------------------------------------------------------------------CentOS            OpenLogic6.5OpenLogic:CentOS:6.5:6.5.2015016.5.201501CentOS            OpenLogic6.5OpenLogic:CentOS:6.5:6.5.2015036.5.201503CentOS            OpenLogic6.5OpenLogic:CentOS:6.5:6.5.2015066.5.201506CentOS            OpenLogic6.5OpenLogic:CentOS:6.5:6.5.201509046.5.20150904CentOS            OpenLogic6.5OpenLogic:CentOS:6.5:6.5.201603096.5.20160309CentOS            OpenLogic6.5OpenLogic:CentOS:6.5:6.5.201702076.5.20170207

若要使用特定映像部署 VM,请记下“Urn”列中的值。 指定映像时,可将映像版本号替换为“latest”,这会选择最新的发行版。 在此示例中,--image参数用于指定最新版本的 CentOS 6.5 映像。

Azure CLI复制

azvmcreate--resource-groupmyResourceGroupVM--namemyVM2--imageOpenLogic:CentOS:6.5:latest--generate-ssh-keys

了解 VM 大小

虚拟机大小决定虚拟机可用计算资源(如 CPU、GPU 和内存)的数量。 需要根据预期的工作负载适当调整虚拟机的大小。 如果工作负荷增加,可调整现有虚拟机的大小。

VM 大小

下表将大小分类成了多个用例。

类型大小说明

常规用途DSv2、Dv2、DS、D、Av2、A0-7CPU 与内存之比均衡。 适用于开发/测试、小到中型应用程序和数据解决方案。

计算优化Fs, F高 CPU 与内存之比。 适用于中等流量的应用程序、网络设备和批处理。

内存优化DSv2、DS、Dv2、D较高的内存核心比。 适用于关系数据库、中到大型缓存和内存中分析。

查找可用的 VM 大小

若要查看在特定区域可用的 VM 大小的列表,请使用az vm list-sizes命令。

Azure CLI复制

azvmlist-sizes--locationchinaeast--outputtable

部分输出:

Azure CLI复制

MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb---------------------------------------------------------------------------------------------------------23584Standard_DS111047552716847168Standard_DS22104755214336814336Standard_DS341047552286721628672Standard_DS48104755257344414336Standard_DS112104755228672828672Standard_DS1241047552573441657344Standard_DS138104755211468832114688Standard_DS141610475522293761768Standard_A0110475522048021792Standard_A1110475527168043584Standard_A22104755213824087168Standard_A341047552291840414336Standard_A5210475521382401614336Standard_A481047552619520828672Standard_A6410475522918401657344Standard_A781047552619520

创建具有特定大小的 VM

在前面的 VM 创建示例中未提供大小,因此会使用默认大小。 可以在创建时使用az vm create和--size参数选择 VM 大小。

Azure CLI复制

azvmcreate\--resource-groupmyResourceGroupVM \--namemyVM3 \--imageUbuntuLTS \--sizeStandard_F4s \--generate-ssh-keys

调整 VM 的大小

部署 VM 后,可调整其大小以增加或减少资源分配。 可通过az vm show查看 VM 的当前大小:

Azure CLI复制

azvmshow--resource-groupmyResourceGroupVM--namemyVM--queryhardwareProfile.vmSize

调整 VM 大小之前,请检查所需的大小在当前 Azure 群集上是否可用。az vm list-vm-resize-options命令返回大小列表。

Azure CLI复制

azvmlist-vm-resize-options--resource-groupmyResourceGroupVM--namemyVM--query[].name

如果所需大小可用,则可从开机状态调整 VM 大小,但需在此操作期间重启 VM。 使用az vm resize命令执行大小调整。

Azure CLI复制

azvmresize--resource-groupmyResourceGroupVM--namemyVM--sizeStandard_DS4_v2

如果所需大小在当前群集上不可用,则需解除分配 VM,然后才能执行调整大小操作。 使用az vm deallocate命令停止和解除分配 VM。 请注意,重新打开 VM 的电源时,可能会删除临时磁盘上的所有数据。 除非使用静态 IP 地址,否则公共 IP 地址也会更改。

Azure CLI复制

azvmdeallocate--resource-groupmyResourceGroupVM--namemyVM

解除分配后,可能会发生大小调整。

Azure CLI复制

azvmresize--resource-groupmyResourceGroupVM--namemyVM--sizeStandard_GS1

调整大小后,可以启动 VM。

Azure CLI复制

azvmstart--resource-groupmyResourceGroupVM--namemyVM

VM 电源状态

Azure VM 可能会处于多种电源状态之一。 从虚拟机监控程序的角度来看,此状态表示 VM 的当前状态。

电源状态

电源状态说明

正在启动指示正在启动虚拟机。

正在运行指示虚拟机正在运行。

正在停止指示正在停止虚拟机。

已停止指示虚拟机已停止。 虚拟机处于停止状态时仍会产生计算费用。

正在解除分配指示正在解除分配虚拟机。

已解除分配指示虚拟机已从虚拟机监控程序中删除,但仍可在控制面板中使用。 处于“已解除分配”状态的虚拟机不会产生计算费用。

-指示虚拟机的电源状态未知。

查找电源状态

若要检索特定 VM 的状态,请使用az vm get instance-view命令。 请确保为虚拟机和资源组指定有效的名称。

Azure CLI复制

azvmget-instance-view\--namemyVM \--resource-groupmyResourceGroupVM \--queryinstanceView.statuses[1]--outputtable

输出:

Azure CLI复制

ode                DisplayStatus    Level----------------------------------------PowerState/running  VM running      Info

管理任务

在虚拟机生命周期中,可能需要运行管理任务,例如启动、停止或删除虚拟机。 此外,可能还需要创建脚本来自动执行重复或复杂的任务。 使用 Azure CLI,可从命令行或脚本运行许多常见的管理任务。

获取 IP 地址

此命令返回虚拟机的私有 IP 地址和公共 IP 地址。

Azure CLI复制

azvmlist-ip-addresses--resource-groupmyResourceGroupVM--namemyVM--outputtable

停止虚拟机

Azure CLI复制

azvmstop--resource-groupmyResourceGroupVM--namemyVM

启动虚拟机

Azure CLI复制

azvmstart--resource-groupmyResourceGroupVM--namemyVM

删除资源组

删除资源组还会删除其包含的所有资源,例如 VM、虚拟网络和磁盘。--no-wait参数会使光标返回提示符处,不会等待操作完成。--yes参数将确认是否希望删除资源,不会显示询问是否删除的额外提示。

Azure CLI复制

azgroupdelete--namemyResourceGroupVM--no-wait--yes

后续步骤

在本教程中,你已学习 VM 创建和管理的基本知识,例如如何:

创建并连接到 VM

选择并使用 VM 映像

查看和使用特定 VM 大小

调整 VM 的大小

查看并了解 VM 状态

请转到下一教程,了解 VM 磁盘。

立即访问http://market.azure.cn

上一篇 下一篇

猜你喜欢

热点阅读