圖片來源: 

Docker

今年6月Container技術圈內的重頭戲DockerCon大會中,其中的一大亮點就是推出了Docker 1.12版本,並將調度工具Docker Swarm內建於Docker引擎中,解放開發者原本只能在單機部署Container的限制,讓使用者在多主機環境下得以部署容器化應用程式。

而近日歐洲舉辦的LinuxCon大會上,Docker技術長Solomon Hykes則更近一步,因應基礎架構調度的需求,推出了陳述式管理工具Infrakit。雖然容器調度工具SwarmKit與Infrakit都專注於解決應用程式調度問題,但兩者差異在於,前者鎖定的管理對象、使用情境為大規模容器應用程式管理,後者則是「對基礎架構調度像容器應用程式般依樣畫葫蘆。」Docker表示。

為解決異質環境維運難題,推出Infrakit

不僅如此,在今年DockerCon中,Docker更推出AWS及Azure雲端Beta版的Docker,一腳踏入跨雲市場,「除了能簡化設定Docker外,也能讓異質雲端發揮它們原生的優點。」

在開發雲端版本Docker時,Docker也了解到,必須建立一套管理、布建基礎架構的準則,並且在各類環境通行無阻,無論是相異公有雲廠商,或者是內部私有雲。Docker表示,其中的挑戰在於,各家廠商在營運基礎架構時,都使用相異的IP位址,「IT維運團隊應付的規模不只是有布建5臺伺服器而已」,更重要的是,讓IT人員更簡單地宣告應用程式所需要的伺服器數量、規格,或是對其進行組態設定,並在碰上伺服器故障的狀況中,系統能迅速地重新布建新伺服器,確保符合應用程式運作所需要的機器數量。

為此,Docker才開始著手研發Infrakit,「讓提供運作分散式系統的基礎架構,可以具有自癒能力(Self-Healing)功能。」

Docker也想要利用Infrakit,將基礎架構自動化功能拆分為更細緻、簡單的可插式套件。透過這些元件,系統可以確保基礎架構符合使用者預先設定的狀態。例如,自動檢查基礎架構現有的運行狀況,若發現偏離使用者的設定時,這些套件也能自行採取行動,讓系統恢復至正常狀態。

同時,考量開發者可能使用相異程式語言開發系統介面與套件介接,使用者可利用Docker Container將此些元件打包、封裝及部署,藉此解決異質環境的相容性問題。

Infrakit三大元件:群組、實例(Instances)、調味料(Flavors)

而讓Infrakit實現加強基礎架構自動化功能的幕後功臣,則是Infrakit內所包含的三大元件:群組、實例以及配方。第一是群組元件,Docker表示,透過此元件可以加強底層架構抽象化的程度,「比管理單一實例來得簡單多。」例如,使用者可以利用數臺機器組成1個群組,群組之中的伺服器可以擁有一致抑或相異的組態設定,前者適合部署無狀態(Stateless)的應用程式,後者則可以納入資料庫、永久儲存等應用。

再者則是實例(Instance)元件,「實例是隸屬群組中的成員」,Docker說明,此元件僅管理單一實例的實體資源,並不會介入群組的運作,目前此套件已經相容於軟體工具商Hashicorp所開發的虛擬化工具Vagrant、基礎架構管理工具Terraform,「未來還要為AWS、Azure推出更多套件。」

最後則是調味料(Flavors)元件,透過此套件,協助系統辨別群組中各個相異的實例。此外,它還負責對實體實例進行組態設定,並且對應用程式進行健康檢查。

未來Infrakit將要納入Docker引擎

目前Docker引擎由許多不同的套件所組成,像是調度工具SwarmKit,或者協助Docker與Mac、微軟作業系統環境整合的HyperKit、VPNKit以及DataKit,而Docker也表示,未來Infrakit將成為Docker引擎中的組成元件。


Advertisement

更多 iThome相關內容