32.Azure制作自定義的Liunx虛擬機映像
首先按照常規的方法創建一臺Centos7.3的虛擬機,但創建的時候需要註意,只能選擇使用托管磁盤進行創建自定義虛擬機映像
然後登錄進行配置
在虛擬機裏我安裝了Apache服務並參考《Azure文件(文件共享)-NAS》的做法,我讓這臺Apache連接到我的Azure共享存儲中,提供WEB服務
接下來我們將采用 Azure CLI創建該VM 的自定義映像,Azure CLI的下載地址:https://docs.azure.cn/zh-cn/cli/install-azure-cli-windows?view=azure-cli-latest
一直下一步直至安裝完成
以管理員方式運行Powershell,執行az,可以看到Azure CLI的相關command
在 Azure 中國區使用 Azure CLI 2.0 之前,請先運行 az cloud set -n AzureChinaCloud 來改變雲環境。如果想切回國際版 Azure,請再次運行 az cloud set -n AzureCloud
創建虛擬機的映像,需通過以下方式準備 VM:取消源 VM 的預配,解除其分配,然後將其標記為通用化。 準備好 VM 後,可以創建映像
取消預配可通過刪除特定於計算機的信息來通用化 VM。 實現此通用化後,即可從單個映像部署多個 VM。 在取消預配期間,主機名將重置為“localhost.localdomain”。 還會刪除 SSH 主機密鑰、名稱服務器配置、根密碼和緩存的 DHCP 租約
使用 SSH 連接到 VM 並運行命令以取消預配 VM。 使用 +user 參數還會刪除上次預配的用戶帳戶以及任何關聯的數據。 將示例 IP 地址替換為 VM 的公共 IP 地址
通過 SSH 連接到 VM,取消預配
sudo waagent -deprovision+user -force
然後關閉 SSH 會話,exit
接下來運行Azure CLI登錄命令
az login
提示打開https://microsoft.com/devicelogin網頁地址,輸入code碼進行登錄
登錄成功後會提示可以關閉IE瀏覽器
Azure CLI也就登錄成功獲取到我的訂閱信息了
接下來解除分配 VM 並將其標記為通用化
az vm deallocate --resource-group ServersResourceGroup --name ASWTemp
解除分配完成
將 VM 的狀態設置為“通用化”,以便 Azure 平臺知道 VM 已通用化。
az vm generalize --resource-group ServersResourceGroup --name ASWTemp
創建VM 的映像,從名為ASWTemp的虛擬機創建名為ASWTempOS的映像
az image create --resource-group ServersResourceGroup --name ASWTempOS --source ASWTemp
還可以通過圖形化來捕獲VM映像
以表格格式按名稱列出所有映像
az image list --resource-group ServersResourceGroup
圖形化也可以看到該VM映像
如果要想基於這個映像來創建虛擬機,從名為ASWTempOS的映像創建名為testasw的VM
可以創建SSH公鑰方式的虛擬機
az vm create --resource-group ServersResourceGroup --name testasw --image ASWTempOS --admin-username zjunsen --generate-ssh-keys
也可以創建密碼方式的虛擬機
az vm create --resource-group ServersResourceGroup --name testasw --image ASWTempOS --admin-username zjunsen --admin-password *********
還可以從圖形化選擇您自定義映像來創建虛擬機,選擇ASWTempOS映像
根據這個映像創建新的虛擬機
創建出來的虛擬機因為是基於我之前自定義映像來的,因此裏面的配置也有,創建出來自動就連接我後端的Azure文件共享提供WEB服務了
如果要刪除映像,從ServersResourceGroup中刪除名為ASWTempOS的映像
az image delete --name ASWTempOS --resource-group ServersResourceGroup
32.Azure制作自定義的Liunx虛擬機映像