Azure鏡像的跨區域復制—Shared Image Gallery(共享映像庫)初探


在上一篇文章末尾我們總結了幾種VM磁盤的操作,關於“鏡像捕獲”這一欄,若要跨Region創建VM,可以對通用化的VM磁盤做快照,然后使用SAS URL將快照復制到目標region的存儲賬號中再創建VM。有個問題,如果要對捕獲后的鏡像做多區域的復制,快速擴展部署環境,有沒有一個更快速便捷的方式來做這個事呢。是有的,使用Azure Global 的Shared Image Galleries(共享映像庫)便可實現這個需求,下面我們來demo一下這個功能。

因為當前這個功能還處於limited preview階段,暫時只能用CLI去創建和使用,因此開始之前需要先更新一下CLI到最新版本,當前最新版本是2.0.60,可以用 az --verison 查看下當前版本,如果是windows用戶,可以按照https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest 操作,macOS 按照https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-macos?view=azure-cli-latest,windows用戶如果是WSL(Windows Subsystem for Linux (WSL))的更新,建議參照https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-apt?view=azure-cli-latest 去一步一步手動更新,如果直接按照Linux(https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?view=azure-cli-latest)的方式更新會報錯,因為WSL需要先更新相關的依賴項才能繼續往下走。

更新完成后,因為是preview階段,因此開始之前首先注冊一下這個功能:

az feature register --namespace Microsoft.Compute --name GalleryPreview
az provider register -n Microsoft.Compute

執行az provider show -n Microsoft.Compute 結果顯示為registed就可以了。首先我們為位於eastus的源image:VM0image創建一個名為vm0imagegallery的共享庫,

必選參數有兩個:--gallery-name 和 --resource-group,接下來創建一個image definition,這個image definition主要是標明這個鏡像的有關信息,包括它的SKU,OS 類型等,方便管理和復用,如下,定義這個image definition為webserverdemo,demo中這個image是要作為web 服務器,因此這樣定義它:

截圖中的都是必選參數,其他可選參數還可以指定它的CPU核數,內存等,具體可以參考:https://docs.microsoft.com/en-us/cli/azure/sig/image-definition?view=azure-cli-latest#az-sig-image-definition-create。關於image definition,貼下面這張圖可能會更清楚:可以定義不同功能的應用,以便在該應用的definition里面管理不同的版本。

接下來重頭戲來了,我們需要執行az image gallery create-image-version命令來定義image的版本,要復制的目標region,份數,

--replica-count 指定每個region默認的復制份數,如果需要指定某個region的數量,可以用--target-regions中的等於號來特定化,上圖中我們是將VM0image復制到了West Central US, South Central US,East US 2,East,4個region,創建完成后回到portal頁面看一下:

然后我們嘗試在westcentralus以image gallery中的image為源創建一台VM,

可以看到創建成功了,至此實現了跨region的復制和創建。每個訂閱創建image galleries時有限額的,當然我們也可以刪除一些過往的庫或者從管理上將image definition 命名好都放在一個庫里就好。

  • 10 shared image galleries, per subscription, per region
  • 200 image definitions, per subscription, per region
  • 2000 image versions, per subscription, per region

另外本身Shared Image Gallery 這項服務不收費,但是image的存儲和源區域復制的出站要收費。除了這篇文章中演示的部分,有興趣的讀者如果需要增加一個新的image版本或者定義更多可選參數,可以參考:https://docs.microsoft.com/en-us/cli/azure/sig/image-version?view=azure-cli-latest#az-sig-image-version-create做更多嘗試。 

最后放一張官網的大圖來總結下共享映像庫(比較一目了然)的功能:幫助用戶快速實現跨區域的鏡像復制和擴展。當然產品組也在不斷完善portal和powershell的支持以及更多源region的支持,包括創建完成之后查看目標區域的鏡像狀態,情況等命令也會做的更加細化,一起期待GA。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM