Docker的應用虛擬化技術通常被稱為容器,其技術處于快速發展階段,推廣勢頭極為迅猛而且隨著技術的成熟,各種商業應用也隨之增長。制訂容器管理策略時,選擇正確的工具只是萬里長征邁出的第一步,在實踐中那些在云應用開發和程序遷移過程中應用容器技術(例如Docker)的用戶,很快就會認識到使用容器管理工具的必要性,這些工具能夠幫助用戶管理容器的運行和規模,并監控容器的性能和安全性。
管理容器可能需要用戶付出大量的精力,做很多工作。首先需要考慮的問題就是選擇一個合適的管理工具。對于基于容器技術的應用程序來說,主要有兩種類型的管理工具,分別是容器集群管理器以及容器運行管理器。
容器集群管理器
容器集群管理器主要是指Docker Swarm、CoreOS Tectonic以及谷歌Kubernetes,它整合了一個由多個服務器或節點組成的共享計算環境,其中集成資源可用于支持工作負載和程序在集群內的正常運行。用戶可以在集群內使用程序來創建任務,然后使用這些任務以滿足特定業務或者IT的需求,同時也涉及使用這些任務來創建工作。
如果需要退出這個功能,用戶就應使用集群管理框架來管理一個或多個集群,而這個框架通常包括了一個資源管理器,它可用于跟蹤諸如內存、CPU以及存儲等資源。當任務運行需要資源時,必須通過資源管理器來獲取所需的資源,用戶還可以訪問資源,這意味著可以管理集群的性能、響應時間以及其他,這使集群可擁有虛擬或物理上的可擴展性。
容器集群管理器的其他組件還包括一個任務管理器,它主要負責任務執行和狀態的管理。集群管理器中存在一個調度管理組件,可對組成工作的各個任務之間的依賴關系進行管理,并為各個節點分配任務。這個調度管理組件是集群管理器的一個核心組件,如果沒有它,管理器將無法實現工作和任務的啟動或停止。
容器運行管理器
對于管理容器的IT專業人士來說,可以使用容器運行管理器這類工具來執行某些特定任務,例如啟動和停止基于容器的應用程序的運行、監控以及管理資源、日志記錄等,包括根據預定義策略來執行某些自動化類型的操作。
Docker收購的Tutum就是一個具有內置日志記錄功能的容器管理工具,能夠允許用戶訪問容器的輸出日志,并收集日志以供后期方便查看。Tutum還提供了可供用戶檢查容器狀態的監控功能、一個可確保使用Tutum和Docker最新版功能的更新程序、一個API和一個控制面板。
容器管理的最佳實踐
除了選擇正確的工具外,還有一些容器管理方面的通用技巧。了解核心容器使用模式,有一些基于容器的應用程序還是非常復雜的,需要大量的監控和管理;而另一些應用程序則相對更為簡單,這些應用程序可能不需要擴展資源或者被嚴密監控。運行和維護容器管理工具的代價相對較為昂貴,所以應當只在確定真的需要它們時才具體實施,一般來說所擁有容器的數量和類型將具體決定需求。
此外,其實還應該做到不要過于關注工具,很多情況下使用容器技術反而過分關注可用工具,而不關心真正需要的功能。事實上隨著時間的推移,所使用的容器管理工具也會不斷更新變化,需要在實踐中不斷深入學習,始終關注容器、管理工具以及程序才是最重要的,只有持續不斷地向自我提出更高要求,才能更好地或者更高效地使用這項技術。