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