iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
DevOps

Azure DevOps Troubleshooting and best practices 系列 第 29

Azure Pipeline 無限劍製 - VMSS 代理程式

  • 分享至 

  • xImage
  •  

前言

作為平台管理者,每一次想到代理程式就會想到兩件事情就會嘆氣,即是 微軟託管代理程式使用多少時間一堆自行託管代理程式伺服器 。或許你的企業或組織可以提供足夠的資源讓 IT 使用,但不免也會扯到維護、資源使用率與資安問題。就個人實作與企業顧問多年經驗,個人是比較偏好微軟託管代理程式,主要原因在於它提供一個乾淨 (每次即預設安裝相關軟體狀態,沒有任何殘留套件),若並非資安需求或需要進行地端整合測試,自行託管代理程式在個人思維中,其維護成本相當高,也相當浪費 (只有在工作時間有高使用率,離峰時間皆閒置)。但一些微軟託管代理程式缺點如:在代理程式若要更多硬體資源(CPU、記憶體與儲存體)、過多步驟安裝自訂軟體、執行超過微軟託管代理程式逾時設定 與 需要等待…等,讓微軟託管代理程式並不是十全十美。

但 Azure Pipeline 其中一種代理程式類型相當強大,可以解決上述問題,並優化資源使用率的問題,它就是 Azure 虛擬機器擴展集代理程式 。虛擬機器擴展集合 (Azure Virtual Machine Scale Sets) 可以讓使用者建立和管理一組負載平衡的 VM。 VM 執行個體的數目可以自動增加或減少,以因應需求或已定義的排程。 理所當然,你能將虛擬機器擴展集合作為代理程式提供 Azure DevOps 使用。

注意:不是使用 VMSS 代理程式擴展集合即有無限代理程式,組織仍需要購買平行作業 (Parallel jobs) 數量

 
 
 

如何設定 VMSS 代理程式擴展集合

建立與設定虛擬機器擴展集合

開啟 Azure Portal,搜尋服務輸入 VMSS,選擇虛擬機器擴展集
https://ithelp.ithome.com.tw/upload/images/20231014/20091494NYVmTPz5H4.png

 

第一頁設定內容較多,除了協調流程需要選擇統一縮放模式選擇手動更新容量,其餘部分可以依據實境需求設定。

https://ithelp.ithome.com.tw/upload/images/20231014/20091494wGKDgGIrod.png

Azure Pipelines 不支援擴展集自動調整。 請確定您的擴展集已停用這兩項功能。
可以依據實境需求設定

 

Spot 部分,若您選擇的虛擬機器規格較大且符合規定,可以設定 Azure Spot 執行。因為我們是範例,選擇較小的規格並不設定 spot。
https://ithelp.ithome.com.tw/upload/images/20231014/20091494ehbsbuUsSM.png

 

依據需求設定硬碟,因為是範例,我們設定 HDD 硬碟
https://ithelp.ithome.com.tw/upload/images/20231014/200914941fjGB7Ahz2.png

 

網路部分我們使用預設設定
https://ithelp.ithome.com.tw/upload/images/20231014/20091494yE0d98TJH5.png

 

管理部分很重要:升級原則需要選擇手動,超額佈建不要選擇任何內容
https://ithelp.ithome.com.tw/upload/images/20231014/20091494HnHNOjXxal.png

 

健康狀態使用預設設定
https://ithelp.ithome.com.tw/upload/images/20231014/20091494XyWgSPPmxQ.png

 

進階使用預設設定
https://ithelp.ithome.com.tw/upload/images/20231014/20091494DhV9e0cU4s.png

 

標籤設定
https://ithelp.ithome.com.tw/upload/images/20231014/20091494MxeMdFYcnk.png

 

最後檢視設定內容是否無誤,確認後按下建立
https://ithelp.ithome.com.tw/upload/images/20231014/20091494vsSyoDtNpV.png
 
  
 

建立擴展集代理程式集區

虛擬機器擴展集建立完成後,我們回到 Azure DevOps Portal > 組織設定 > Agent pools > 點選 Add pool 按鈕
https://ithelp.ithome.com.tw/upload/images/20231014/200914940NNeiSzar0.png

 

Pool type 選擇 Azure virtual machine scale set 依序選擇連線的專案、Azure 訂閱、VMSS、輸入名稱,最大虛擬機器數量與待命時虛擬機器數量等設定
https://ithelp.ithome.com.tw/upload/images/20231014/20091494cZxTbgFhyu.png

 

建立完成後,即可看到 擴展集代理程式集區,其標誌為 Azure 圖形
https://ithelp.ithome.com.tw/upload/images/20231014/200914948X80x9wjIe.png

 

https://ithelp.ithome.com.tw/upload/images/20231014/20091494o0iWwNswku.png

 

可以回到 Azure Portal > 虛擬機器擴展集 > 執行個體,確定有建立虛擬機器
https://ithelp.ithome.com.tw/upload/images/20231014/20091494U1oauPDTNH.png

 

第一次設定約等10-15分鐘,即可看見新的代理程式長出來了。到目前為止,我們完成擴展集代理程式集區設定。
https://ithelp.ithome.com.tw/upload/images/20231014/20091494Eqj4WPcXZ0.png


上一篇
Azure Pipeline - YAML 如何範本化工作與作業
下一篇
DevOps Tool 建議與 Azure DevOps troubleshooting and best practices 彙整
系列文
Azure DevOps Troubleshooting and best practices 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言