馬曉光 劉釗遠
(西安郵電大學計算機學院 陜西 西安 710061)
一種適用于Docker Swarm集群的調度策略和算法
馬曉光 劉釗遠
(西安郵電大學計算機學院 陜西 西安 710061)
Swarm是基于Docker容器的集群管理工具。通過分析研究Swarm整體架構和調度策略,針對集群的資源碎片問題和負載均衡問題,提出一種靜態平衡和動態預測相結合的容器調度算法。通過測試,該算法能夠減少集群的靜態資源碎片,提高集群資源的利用率,并能維持集群的負載均衡。
云計算 資源碎片 負載均衡 Docker容器 Swarm
Docker[1-4]自開源以來,就受到了廣泛的關注和討論,由于眾多新穎的特性以及項目本身的開放性,Docker迅速獲得包括Google、Microsoft、VMware等業界行業領導者的青睞,并對其提供支持。Docker公司隨之迎來了巨大的發展機遇,并在2014年12月發布了原生態容器集群管理工具Swarm。Swarm基于Go語言進行開發,用于管理Docker集群,使Docker集群對于用戶而言當于一個虛擬的整體。
Docker在云生態中占有重要地位, Swarm在云架構PaaS(平臺及服務)/IaaS(基礎設施及服務)層中也占有重要地位。Swarm主要完成的工作是:根據調度策略將容器運行在合適的節點上,由于節點上運行容器的不同,其資源利用率也有所差別。而每個節點的資源利用率又決定了整個集群的負載情況。因此,集群調度策略的優略就顯得尤為重要。
不同的容器需求不同維度的資源,當一個節點任意維度的資源耗盡時,如果有多維資源需求的容器被啟動,那么該節點將不能滿足創建容器的需求,也就不能運行此容器。……