1. 程式人生 > >36.Azure制作自定義的Windows虛擬機映像

36.Azure制作自定義的Windows虛擬機映像

雲計算 雲平臺

首先按照常規的方法創建一臺VM虛擬機,只是做成模板的虛擬機必須是托管磁盤

技術分享圖片

然後登錄進行配置

技術分享圖片

在虛擬機裏我安裝了IIS服務並參考《Azure文件(文件共享)-NAS》的做法,我讓這臺IIS連接到我的Azure共享存儲中,提供WEB服務

技術分享圖片

接著需要對系統進行Sysprep通用化處理:Sysprep 將刪除所有個人帳戶信息及其他某些數據,並準備好要用作映像,哪些不會被Sysprep清理請參考:https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-7/dd744581(v=ws.10)

以管理員身份打開“命令提示符”窗口。將目錄切換到 %windir%\system32\sysprep,然後運行 sysprep.exe

技術分享圖片

耐心等待完成,系統會自動關機

技術分享圖片

虛擬機停止了,但資源並未釋放

技術分享圖片

接下以管理員身份運行Powershell,登錄您的Azure,查看VM信息

Get-AzureRmVM

技術分享圖片

首先執行如下命令來要釋放資源解除分配

Stop-AzureRmVM -ResourceGroupName ServersResourceGroup -Name WEBTemp -Force

技術分享圖片

然後把該虛擬機設置成通用狀態

Set-AzureRmVM -ResourceGroupName ServersResourceGroup -Name WEBTemp -Generalized

技術分享圖片

接下來就可以開始創建鏡像模板了,首先設置一個獲取虛擬機的變量

$vm = Get-AzureRmVM -Name WEBTemp -ResourceGroupName ServersResourceGroup

技術分享圖片

創建鏡像的配置變量

$image = New-AzureRmImageConfig -Location eastasia -SourceVirtualMachineId $vm.ID

技術分享圖片

最後創建鏡像,我創建鏡像的名稱是WEBTempOS

New-AzureRmImage -Image $image -ImageName WEBTempOS -ResourceGroupName ServersResourceGroup

技術分享圖片

如果要查看所有鏡像模板可以執行如下:

$images = Find-AzureRMResource -ResourceType Microsoft.Compute/images

$images.name

技術分享圖片

如果要想基於這個鏡像模板來創建虛擬機可以從這裏進行創建

技術分享圖片

創建好以後,唯獨計算機管理用戶的filedisk01賬戶以及IIS裏應用程序池中AzureSharefile01標識ID(filedisk01)和站點連接為賬戶filedisk01的密碼我手動更新了一下就好了,可以看見根據模板創建出來的虛擬機之前定義的filedisk01賬戶還在,IIS也都還在,應用程序池和站點都在。

技術分享圖片

如果要刪除鏡像,比如從ServersResourceGroup資源組裏刪除名稱為WEBTempOS的鏡像模板

Remove-AzureRmImage -ImageName WEBTempOS -ResourceGroupName ServersResourceGroup

技術分享圖片

其實這篇主要重點是介紹Windows系統的自定義映像如何制作,至於如何實現制作出來的映像在部署時自動配置好IIS並連接到後端的數據庫或文件提供前端訪問我只是起一個拋磚引玉介紹的作用,大家可以根據自己實際的業務需求來自定義真正符合您需求的完美映像哈。

36.Azure制作自定義的Windows虛擬機映像