當(dāng)制訂容器管理策略時(shí),選擇正確的工具只是萬里長征邁出了第一步。
那些在云應(yīng)用開發(fā)和應(yīng)序遷移過程中應(yīng)用容器技術(shù)(例如Docker)的用戶很快就會(huì)認(rèn)識(shí)到使用容器管理工具的必要性。這些工具能夠幫助用戶管理容器的運(yùn)行和規(guī)模,并監(jiān)控容器的性能和安全性。
管理容器可能需要用戶付出大量的工作,首先需要考慮的一個(gè)問題就是選擇一個(gè)合適的管理工具。對(duì)于基于容器技術(shù)的應(yīng)用程序來說,主要有兩種類型的管理工具:容器集群管理器和容器運(yùn)行管理器。
容器集群管理器
容器集群管理器,主要指Docker Swarm、CoreOS Tectonic 和谷歌Kubernetes,它整合了一個(gè)由多個(gè)服務(wù)器或節(jié)點(diǎn)組成的共享計(jì)算環(huán)境,其中的集成資源可用于支持工作負(fù)載和程序在集群內(nèi)正常運(yùn)行。用戶可以在集群內(nèi)使用程序來創(chuàng)建一個(gè)任務(wù),然后使用這些任務(wù)以滿足特定業(yè)務(wù)或IT的需求。這也涉及使用這些任務(wù)來創(chuàng)建一個(gè)工作。
如果需要退出這個(gè)功能,那么用戶就應(yīng)使用集群管理框架來管理一個(gè)或多個(gè)集群,而這個(gè)框架通常包括了一個(gè)資源管理器,它可用于跟蹤諸如內(nèi)存、CPU以及存儲(chǔ)等資源。當(dāng)任務(wù)運(yùn)行需要資源時(shí),必須通過資源管理器來獲取所需的資源。用戶還可以訪問資源,這意味著他們可以管理集群的性能、響應(yīng)時(shí)間以及其他。這就使得集群可擁有虛擬或物理上的可擴(kuò)展性。
容器集群管理器的其他組件還包括一個(gè)任務(wù)管理器,它主要負(fù)責(zé)任務(wù)執(zhí)行和狀態(tài)的管理。集群管理器中還有一個(gè)調(diào)度管理組件,它可對(duì)組成工作的各個(gè)任務(wù)之間的依賴關(guān)系進(jìn)行管理,并為各個(gè)節(jié)點(diǎn)分配任務(wù)。這個(gè)調(diào)度管理組件是集群管理器的一個(gè)核心組件;如果沒有它,管理器將無法實(shí)現(xiàn)工作和任務(wù)的啟動(dòng)或停止。
容器運(yùn)行管理器
對(duì)于管理容器的IT專業(yè)人士來說,他們可使用容器運(yùn)行管理器這類工具來執(zhí)行某些特定的任務(wù),例如啟動(dòng)和停止基于容器的應(yīng)用程序的運(yùn)行、監(jiān)控和管理資源、日志記錄和根據(jù)預(yù)定義策略來執(zhí)行某些自動(dòng)化操作。
在去年十月被Docker收購的Tutum就是一個(gè)具有內(nèi)置日志記錄功能的容器管理工具,它能夠允許用戶訪問他們?nèi)萜鞯妮敵鋈罩?,并收集日志以供后期方便查看。Tutum還提供了可供用戶檢查容器狀態(tài)的監(jiān)控功能、一個(gè)可確保使用Tutum和Docker最新版功能的更新程序、以及一個(gè)API和一個(gè)控制面板。
容器管理的最佳實(shí)踐
除了選擇正確的工具以外,這里還有一些容器管理方面的通用技巧:
了解你的核心容器使用模式。有一些基于容器的應(yīng)用程序是非常復(fù)雜的,它們需要大量的監(jiān)控和管理。而另一些應(yīng)用程序則相對(duì)更為簡單,這些應(yīng)用程序可能不需要擴(kuò)展資源或者被嚴(yán)密監(jiān)控。運(yùn)行和維護(hù)容器管理工具的代價(jià)可能是較為昂貴的,所以應(yīng)當(dāng)只在你確定真的需要它們時(shí)才具體實(shí)施;你所擁有容器的數(shù)量和類型將具體決定你的需求。
不要過于關(guān)注工具。很多使用容器技術(shù)的組織過分關(guān)注可用工具,而不關(guān)心他們真正需要的功能。事實(shí)上,隨著時(shí)間的推移,你所使用的容器管理工具也會(huì)不斷更新變化。
在實(shí)踐中不斷學(xué)習(xí)。請(qǐng)始終關(guān)注你的容器、管理工具以及程序。持續(xù)不斷地向自我提出更高要求,如何才能更好地或者更高效地使用這項(xiàng)技術(shù)。如有需要,及時(shí)更改或更新流程和工具。