iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 21
0

前面時時提到容器平台,什麼是容器平台呢?

如果用 IaaS 層來比擬的話,容器平台就像是 IaaS 層的 Hypervisor 的角色,只是位置是在 OS(or guest OS) 之上,用來管理與調度容器在多個 OS(or guest OS) 上運行

http://ithelp.ithome.com.tw/upload/images/20170101/20060041bfG7W9EgvR.png
(Source: Google)

上面這張圖簡單示意了容器平台的角色。中間的 Kubernetes Master 代表容器平台。底下有多個節點 (Node),每個 Node 代表一個可運行容器的 OS(or guest OS)。最上方有四種使用者想要運行的容器,每種容器各有高矮胖瘦表示資源需求是不同的,且每種容器各有想要運行的數量。透過中間容器平台的調度,把這些容器的啟動需求分派到底下的節點上執行。中間的容器平台畫成雲的形狀,意思是上方的使用者不需要意識到下方有幾個節點,只需面對容器平台(容器雲)即可。

這張簡單的圖,已足以看到幾個容器平台所面對的基本需求:

  • 使用者可以對每種容器提出資源需求,可能是量化需求(如:需要4G Memory)或質化需求(如:需要GPU),以及要啟動的數量
  • 容器平台需要知道每個節點的資源配置(如:具備GPU)及資源用量,用來決定要如何把容器調度到節點上
  • 容器平台要內建一個調度演算法,在盡可能滿足使用者需求的前提下,再滿足營運上的需求 (避免資源衝突 vs. 增加資源利用率)
  • 容器平台需要知道每個容器的運行狀態,未啟動?已啟動?已啟動但無法服務?運行中?已失效?停止中?已停止?
  • 容器平台需要維持每一組容器應該要有的狀態,或是維持使用者所要求的服務水準目標(Service Level Objective, SLO)

最後一點是容器平台最嚴格的功能之一,所謂嚴格是指會需要很多方面的配合才得以實現,後面有機會我會再來談這一塊。


上一篇
[小結] 組織中的人如何看待容器?
下一篇
如何在容器平台維持應用的高可用性?
系列文
Container 容器三十問30

尚未有邦友留言

立即登入留言