background image

Apr 20 2022

Azure 的自動裝機

在之前已經有寫過AWS的裝機處理,這次改用Azure同樣的可以讓系統從scale out到上線不需要人工的處理就可以完成系統的部署與設定

Azure 的VM Scale Set

在AWS是稱為Auto Scaling Group,在Azure中的名稱是Virtual Machine Scale Set(以下簡稱VMSS),這也是一個群組設定虛擬機器的規格, 伸縮的條件, 健康檢查等等的設定

custom_data的資料就是我們準備要設定開機後要執行的腳本,這個設定了以後在azure 的Portal是無法再看到的,所以如果不是使用IaC的話一定要找個地方做紀錄 Azure的VMSS就有內建的檢查機制(extension區塊),可以檢查VM的服務是否正確地被啟動,若沒有在時間內被測試成功的話機器會重新收回部署

在terraform 有另一個設定 extension的module, azurerm_virtual_machine_extension設定如果要設定healthRepairExtension在我測試時是會失敗的,所以一定要在extension區塊中設定。

VMSS的擴展計畫

在Azure的設定呢,說真的我還沒有非常的理解整個設定,但目前看起來的設定較為麻煩...

在Profile中,一定要有一組預設的設定資料,接下來才能在設定其他的擴展策略,所以我直接hard code一組default的設定,這個設定會是主要的擴展策略。 其他的設定基本上可以依照特定的時間,或是情境來做設定

在設定中的時間設定在Azure都是使用ISO-8601的設定標準來設定,這個部份對於我來說真的很不順手,也不容易理解...

Terraform azurerm_virtual_machine_scale_set

這個在未來的版本中已經被棄用了,所以如果有要使用terraform的記得改用azurerm_linux_virtual_machine_scale_set(Linux)與azurerm_windows_virtual_machine_scale_set(Windows) 設定上基本差不多

參考資料

ISO-8601 wiki

Terraform azurerm_virtual_machine_scale_set

文章標籤