使用 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”的資源組。

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

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容