Docker發布編排工具包
Docker在其官方博客中宣布編排工具集第一個版本已經可以下載,但仍不可在生產環境使用。其中Machine與Swarm是Beta版,而Compose發布的是1.1版本。這三個工具請讀者重點關注,它們是今年Docker的重頭戲。
Docker今天發布了其在12月份歐洲DockerCon上介紹的編排工具包。這三個編排工具旨在保證Docker擁有“100%的移植性”,包括實現混合云架構來運行容器式或分布式應用程序。
當去年在阿姆斯特丹宣布編排工具包時,Docker間接地回應起初社區對此問題的關切。Docker強調的是自由,而開發者不得不控制如何在生產環境中構建、裝載與啟用多容器、多主機應用程序。
這三個編排工具有:Docker Machine、Docker Swarm與Docker Compose。Machine與Swarm是Beta版,而Compose發布的是1.1版本。
Docker Machine
Docker Machine是 一個可以通過一個命令直接安裝Docker引擎的工具。Docker公司企業營銷副總裁兼系統管理員與運維David Messina說它非常適合用于混合環境中,你再也不用學習一套獨立的命令來獲取并啟用一個Docker容器應用。Messina還說對于Docker Machine,用戶可以使用一個統一的命令來減少跨基礎設施的成本。目前Beta版本已經有十二個驅動程序,其中包括Amazon EC2、Google Cloud Engine、Digital Ocean與VMware。雖然現在還無法確認有多少用戶會使用Docker來編排混合云架構中的分布式應用,但Messina認為“Machine一定是達成這一愿景的關鍵的推動者“。
Docker Swarm
Docker Swarm是一個集群和調度工具,它會基于應用程序的生命周期、容器的使用與性能的需求自動優化分布式應用程序的基礎架構。Messina說:“Swarm有多個模型來確定調度,包括了解特定的容器應用有怎樣的資源需求,比如計算和內存資源。”處理調度算法 時,Swarm將決定哪個引擎和主機應該運行,比如有些情況下,我們應該首先考慮應用之間的關系,而有關系的那些容器可能就需要運行在同一個主機上。
“Swarm的核心內容是,當你使用多主機、分布式應用程序時,你仍想要保持開發的經驗而且保證應用的可移植性。Swarm提供了連續性,但你也 想擁有的靈活性,例如,對于正在使用的應用程序可以使用特定的集群的解決方案的能力。這確保集群功能一直是可移植的,不管是從筆記本電腦還是到生產環境 中。”
保持Swarm靈活性
Swarm為生態圈合作伙伴提供了Swarm API,以支持第三方的編排工具。這是Docker一直提倡的“batteries-included-but-swappable”(譯者注:想象一下 以前能換手機電池的諾基亞手機:))。有些用戶可能愿意使用Docker Swarm以確定多容器分布式應用程序架構的優化集群。其他人會想用Swarm的集聚和調度部分來設置自己的參數,而還有一些人將目光轉向生態系統合作伙 伴的替代編排優化產品來推薦最佳集群組合。Apache Mesos(譯者注:想要了解Mesos的朋友可以參考這里)的企業贊助商Mesosphere是Docker最初的生態系統合作伙伴,他們使用Swarm API創建了替代的優化產品,期待將來有來自Amazon、Google、Joyent與MS Azure等的可供選擇的解決方案。
Mesosphere營銷副總裁Matt Trifiro說:“Swarm首次公布后,Mesosphere和Docker就聚集在一起,因為兩家公司的工程師立即看到了如何將這兩個項目結合在一起。”
在DockerCon EU上,Docker創始人兼CTO Solomon Hykes挑出Mesosphere的技術做為規模化運行容器的黃金標準。(參見油Tube視頻35分鐘左右)
Trifiro說,對于大規模運行的分布式應用程序,Mesosphere的編排工具,相對于Swarm的“batteries-included”版本,更適合以確定優化的集群及調度業務流程。
他說對于Mesosphere與Swarm一體化有兩件事情要強調:
- Hyperscale(超大規模):對于任何想在高自動化環境中運行容器的大型企業(數百臺機器), 不管是內部還是云端部署,Mesosphere的技術都是唯一公開可用的容器編排系統,很多運行數百萬容器的企業在使用它,像推ter、 Groupon和Netflix,以及在一些最大的消費類電子產品和金融服務公司。
- Multitenant Diversity of Workloads(工作負載的多租戶多元化): 如果想在同一個集群上以高彈性的方式運行Docker Swarm應用以及其它應用,那就只能選擇Mesosphere的技術。例如,你可以在一臺Mesosphere集群上相互運行Cassandra、 Kafka、Storm、Hadoop和Docker Swarm應用,他們都共享相同的資源。這樣可以更有效地利用集群資源,大大降低了運營成本和復雜性。
Docker Compose
使用Docker Compose工具可以構建在Swarm上運行的多容器應用程序。Compose工具使用YAML文件來維護所有應用程序容器的邏輯定義以及它們之間的連接。使用Compose構建的應用程序可以在不影響其它服務的情況下自動更新。潛臺詞:我們可以做的更好
Docker發布Swarm以及Swarm API也消除了12月份社區所猜測的種種疑慮。 Docker一直致力于為社區合作伙伴建立一個生態系統經濟,他們已經構建了加強DevOps、監控、持續改進、質量保證以及需要在一個容器化、分布式應 用環境中定位的其他程序的產品。社區成員一開始擔心Docker會直接構建編排工具,而不是擔心能不能夠創造一個像Mesosphere那樣的集成產品, 競爭編排工具將需要使用一個精密變通的解決方法,以提供一個替代Docker已經有的產品。Docker編排公告一再強調說是100%的可移植性以及Swarm API的 “batteries-included-but-swappable”的性質巧妙地解決這一問題。
Messina說:“Docker官方的編排公告中有提到,Docker的編排工具會對生態圈中所有的編排工具開放,Docker社區需要建立多容器和多主機的分布式應用程序。編排工具都非常靈活,它允許合作伙伴通過API進行開發。”
原文鏈接:Docker Releases Orchestration Tool Kit (翻譯:田浩浩 校對:李穎杰)
===========================
譯者介紹
田浩浩,悉尼大學USYD碩士研究生,目前在珠海從事Android應用開發工作。業余時間專注Docker的學習與研究,希望通過DockerOne把最新最優秀的譯文貢獻給大家,與讀者一起暢游Docker的海洋。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!