【文章簡介】
Azure Cloud Shell 是一個用於管理 Azure 資源的、可通過瀏覽器訪問的互動式經驗證 shell。 它使使用者能夠靈活選擇最適合自己工作方式的 shell 體驗,本篇文章主要針對Linux VirtualMachines 進行生命週期管理(包括啟動、停止、重啟等)
【前期文章】
【Microsoft Azure 的1024種玩法】一.一分鐘快速上手搭建寶塔管理皮膚
【Microsoft Azure 的1024種玩法】二.基於Azure雲平臺的安全攻防靶場系統構建
【Microsoft Azure 的1024種玩法】三.基於Azure雲平臺構建Discuz論壇
【Microsoft Azure 的1024種玩法】四. 利用Azure Virtual machines 打造個人專屬雲盤,速度吊打某雲盤
【Microsoft Azure 的1024種玩法】五.基於Azure Cloud Shell 一站式建立Linux VM
【Microsoft Azure 的1024種玩法】六、使用Azure Cloud Shell對Linux VirtualMachines 進行生命週期管理
【Azure Cloud Shell功能介紹及限制】
-
功能介紹
Azure Cloud Shell 是一個用於管理 Azure 資源的、可通過瀏覽器訪問的互動式經驗證 shell。 它使使用者能夠靈活選擇最適合自己工作方式的 shell 體驗,無論是 Bash 還是 PowerShell。 -
條件限制
- Cloud Shell 在按會話按使用者提供的臨時主機上執行
- Cloud Shell 在 20 分鐘沒有互動活動後將超時
- Cloud Shell 需要裝載 Azure 檔案共享
- Cloud Shell 對 Bash 和 PowerShell 使用相同的 Azure 檔案共享
- 將針對每個使用者帳戶為 Cloud Shell 分配一臺計算機
- Cloud Shell 使用檔案共享中儲存的 5-GB 映像持久儲存 $HOME
- 在 Bash 中許可權是按常規 Linux 使用者設定的
【操作步驟】
一.通過Azure Cloud Shell查詢Azure公共映像
①我們若要是查詢可用的公共映像列表,可以通過在Azure Cloud Shell使用az vm image list 命令進行查詢,命令格式如下:
az vm image list --output table
②執行回顯如下程式碼
ma@Azure:~$ az vm image list --output table
You are viewing an offline list of images, use --all to retrieve an up-to-date list
Offer Publisher Sku Urn UrnAlias Version
---------------------------- ---------------------- ------------------ -------------------------------------------------------------- ------------------- ---------
CentOS OpenLogic 7.5 OpenLogic:CentOS:7.5:latest CentOS latest
debian-10 Debian 10 Debian:debian-10:10:latest Debian latest
flatcar-container-linux-free kinvolk stable kinvolk:flatcar-container-linux-free:stable:latest Flatcar latest
openSUSE-Leap SUSE 42.3 SUSE:openSUSE-Leap:42.3:latest openSUSE-Leap latest
RHEL RedHat 7-LVM RedHat:RHEL:7-LVM:latest RHEL latest
SLES SUSE 15 SUSE:SLES:15:latest SLES latest
UbuntuServer Canonical 18.04-LTS Canonical:UbuntuServer:18.04-LTS:latest UbuntuLTS latest
WindowsServer MicrosoftWindowsServer 2019-Datacenter MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest Win2019Datacenter latest
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 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
WindowsServer MicrosoftWindowsServer 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
③同時,我們可以通過執行az vm image list --offer CentOS --all --output table
命令來過濾出含有“Centos”作業系統的映像(查詢的時間會在1分鐘-3分鐘之間)
CentOS OpenLogic 7.7 OpenLogic:CentOS:7.7:7.7.2020111300 7.7.2020111300
CentOS OpenLogic 7.7 OpenLogic:CentOS:7.7:7.7.2021020400 7.7.2021020400
php-7-3-with-centos-7-8 cognosys php-7-3-with-centos-7-8 cognosys:php-7-3-with-centos-7-8:php-7-3-with-centos-7-8:1.2019.1010 1.2019.1010
CentOS OpenLogic 7_4 OpenLogic:CentOS:7_4:7.4.20200220 7.4.20200220
CentOS OpenLogic 7_4-gen2 OpenLogic:CentOS:7_4-gen2:7.4.20200220 7.4.20200220
php-7-3-with-centos-7-9 cognosys php-7-3-with-centos-7-9 cognosys:php-7-3-with-centos-7-9:php-7-3-with-centos-7-9:1.2019.1010 1.2019.1010
CentOS OpenLogic 7_5-gen2 OpenLogic:CentOS:7_5-gen2:7.5.20200214 7.5.20200214
CentOS OpenLogic 7_6-gen2 OpenLogic:CentOS:7_6-gen2:7.6.20200213 7.6.20200213
④後續若要使用特定的映像來部署虛擬機器,可以通過指定映像的版本號的方式來指定您所需要的的映象,若您這邊想要使用當前最新版本的映象,您可以通過增加“latest”的引數獲取最新的發行版本,舉個例子,假設我們這邊要建立一臺Linux虛擬機器,Linux虛擬機器資訊如下:
- 虛擬機器名為:myVM2
- 虛擬機器映像為Centos 7.7最新發行版本
- 遠端連線認證方式為generate-ssh-keys
⑤根據要求資訊執行下述命令
az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:7.7:latest --generate-ssh-keys
⑥執行完畢如下圖所示
⑦返回VM控制檯檢視相關資訊,發現與我們執行建立的版本資訊一致
二.通過Azure Cloud Shell查詢Azure VM例項規格引數
2.1例項引數規格對比
一般我們在選擇使用Auzre VM之前都會對配置引數進行選型,比如說我們要購買多少CPU、多少記憶體的虛擬機器,要去承載我們的業務需要什麼型別引數的虛擬機器等等,我們在選擇購買前必須要做的一個配置選型工作,去選擇不同例項規格的伺服器,下述列出了針對不同業務場景Azure VM型別
規格簇 | 例項規格 | 適合的業務場景 |
---|---|---|
通用型 | B, Dsv3, Dv3, DSv2, Dv2, Av2, DC | 主要適合搭建web應用前後端、中介軟體、開發測試的場景 |
計算型 | Fsv2 | 擁有高CPU、高記憶體佔比,主要適用於中等流量的應用程式 |
記憶體增強型 | Esv3、Ev3、M、DSv2、Dv2 | 擁有較高的記憶體,主要適用於中到大型的快取資料庫、關係型資料庫 |
儲存增強型 | Lsv2、Ls | 擁有高磁碟吞吐量和IO,主要適用於搭建各種大資料、Nosql資料庫場景 |
GPU型 | NV、NVv2、NC、NCv2、NCv3、ND | 針對視訊、圖片、音訊處理、GPU加速的圖形渲染場景 |
高效能 | H | CPU處理能力極強、具有可選的高吞吐網路介面,適合用於深度學習等業務場景 |
2.2例項引數查詢
我們要想查詢某一個地域下面可用的VM例項型別列表,可通過az vm list-sizes命令進行查詢,舉個例子下述引數查詢美國東部地域可用的例項規格,並通過表格的方式進行輸出,可通過如下命令進行查詢
az vm list-sizes --location eastus --output table
查詢命令輸出如下(美國東部地域可用的例項規格):
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ------------------------- --------------- ---------------- ----------------------
2 512 Standard_B1ls 1 1047552 4096
2 2048 Standard_B1ms 1 1047552 4096
2 1024 Standard_B1s 1 1047552 4096
4 8192 Standard_B2ms 2 1047552 16384
4 4096 Standard_B2s 2 1047552 8192
8 16384 Standard_B4ms 4 1047552 32768
16 32768 Standard_B8ms 8 1047552 65536
16 49152 Standard_B12ms 12 1047552 98304
32 65536 Standard_B16ms 16 1047552 131072
32 81920 Standard_B20ms 20 1047552 16384
三.通過Azure Cloud Shell對Azure VM例項規格動態變配
3.1 檢視當前VM大小
az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize
調整之前 需查詢Azure叢集是否可用
az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name
大小可用,可以從開機狀態直接調整
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_DS4_v2
大小不可用,需要解除分配VM,再進行調整大小
az vm deallocate --resource-group myResourceGroupVM --name myVM
四.通過Azure Cloud Shell對Azure VM例項狀態進行管理
4.1 Azure VM例項狀態
一個VM例項狀態分為不同的狀態(正在啟動、執行中、正在停止、已停止、正在解除分配、已解除分配),下述表格是針對VM例項生命週期的不同狀態的解釋描述
例項狀態 | 描述 |
---|---|
正在啟動 | 虛擬機器正在啟動 |
執行 | 虛擬機器正在執行 |
正在停止 | 虛擬機器正在停止 |
已停止 | 虛擬機器已停止 |
正在解除分配 | 虛擬機器正在解除分配 |
已解除分配 | 虛擬機器已從虛擬機器監控程式中刪除,但仍在控制皮膚中使用 |
- | 虛擬機器狀態未知 |
4.2 查詢Auzre VM狀態
通過az vm get-instance-view 命令查詢當前虛擬機器狀態,執行命令如下
az vm get-instance-view \
--name myVM2 \
--resource-group myResourceGroupVM \
--query instanceView.statuses[1] --output table
執行完畢以後,如下圖所示:
4.3 停止Auzre VM
若要停止當前已經啟動的虛擬機器,或者將虛擬機器由啟動狀態改變為停止狀態,可通過"az vm stop "命令進行將虛擬機器停止
az vm stop --resource-group 資源組名稱 --name 虛擬機器名稱
舉個例子:將虛擬機器名為myVM2由執行狀態變更為停止狀態,可執行如下命令,進行操作
az vm stop --resource-group myResourceGroupVM --name myVM2
執行完畢以後,如下圖所示
通過VM的門戶進行檢視當前虛擬機器狀態為stopped已停止狀態,如下圖所示
4.4 啟動Auzre VM
若要將已停止的Auzre VM狀態變更為執行中,則可以通過“az vm start”命令進行啟動Azure VM虛擬機器
舉個例子:將虛擬機器名為myVM2由停止狀態變更為啟動狀態,可執行如下命令,進行操作
az vm start --resource-group myResourceGroupVM --name myVM2
執行完畢以後,如下圖所示
通過VM的門戶進行檢視當前虛擬機器狀態為由之前的stopped已停止狀態變更為執行狀態,如下圖所示
以上內容就是使用Azure Cloud Shell對Linux VirtualMachines 進行生命週期管理全部內容教程了,你學會了麼?