建立代管VM個體群組

一般使用者若要建立虛擬機(VM)會使用Computer Engine -> VM instance

但若你提供的服務可能在短時間內會有大量的流量,或是有不定期需要額外的運作資源情況,而你又不想隨時觀察服務的運作狀況去手動增減VM instance 數量以維持良好的服務品質,那麼這時候你可以透過建立代管個體群組(Managed instance group)來解決這個問題,接下來就照著下面步驟一步一步做吧!

首先 點選 Computer Engine -> Instance templates的選項進行範本設定

範本設定完成後的結果如下,可以看到Instance templates頁面中出現剛剛新增的cloudace-vm-instance-template

接著點選Computer engine -> Instance groups -> Create a new instance group 來建立Instance group
大部份的設定在先前建立範本時都已經完成,因此這邊主要是設定名稱、Region/Zone、Group type以及Autoscaling

Group type 有下面二種:
1. Managed instance group (代管執行個體群組):
可以針對CPU的使用率自動調整個體數量
將HTTP的流量分散到群組內的個體
判斷個體的健康狀況,若有不建康的情況則自動重新建立個體

2. Unmanaged instance group(非代管執行個體群組):
不同的執行個體套用負載平衡時

由於我們需要自動新增、刪除VM、流量分散以及重啟故障主機的功能,因此Group type選擇Managed instance group。
template則用剛剛建立的cloudace-vm-instance-template。

下方Autoscaling的選項設定為On
預設Policy是依據CPU的使用率來自動調整VM的數量,你也可以選擇使用HTTP load balancing usage  或是Stackdriver monitoring mertic 來當作判斷policy,或是混合這幾種方式一起使用。

在頁面下方可以設定VM的健康狀況門檻,預設值為每10秒傳送一次封包給主機,連續2次都收到回應代表這個VM是正常運作,連續3次都沒收到回應的情況下會判定主機的狀態為不健康的。

點選確認後,新增的instance group 已經出現在頁面中代表已經建立完成

如果你的服務已經上線了,但是又想要更新managed instance group的話,這時候你可以使用輪動式更新(rolling update)
和之前一樣建立一個新的instance template,在這邊我們新增的是ca-instance-template

接著在computer engine -> instance groups中,上面有ROLLING UPDATE選項

在New configuration下方Template對話框點選剛剛新增的ca-instance-template 再點選Update

範本更新後,在Instance groups這邊可以看到已經套用新的template