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