容器生態圈項目一覽:引擎、編排、OS、Registry、監控
如火如荼的容器化運動中,引擎、服務商和工具等方面都涌現了一大批優秀的成果,本文對這些方面做出簡要總結。
Docker 是近一兩年來發展最快的技術。很多公司都在使用 Docker(或容器)技術。有的只是用 Docker 來構建本地開發環境,但越來越多的公司是在利用容器技術徹底改造已有的架構和部署流程。本文對當今的容器生態環境做一個簡單介紹。
引擎 / 運行環境
容器引擎是容器技術的核心。引擎通常以一些說明性的描述,比如Dockerfile,來創建和運行容器。談論 Docker 時,一般指的就是 Docker 引擎。- Docker Engine 是當前最流行的引擎,也是事實的工業標準。
- rkt 是CoreOS 團隊主導的開源引擎,用于替代 Docker 引擎。 </ul>
- Amazon EC2 Container Service 在 EC2 實例上運行容器服務。容器服務免費,只需要支付 EC2 費用。
- Google Container Engine 構建于 Kubernetes(由Google發起的開源容器編排項目) 之上。
- Azure (Microsoft 提供)提供基于Mesos的Docker容器支持。
- Stackdock 提供 Docker 容器托管。
- Tutum 提供 Docker 容器托管。
- GiantSwarm 是一家提供運行于容器內微服務架構的定制與托管的云平臺。
- Joyent Triton 提供 Docker 容器監控和托管。
- Jelastic Docker 為容器部署提供云托管編排工具。 </ul>
- Kubernetes Google 開源的工具,它是基于Google的內部容器設施,并且在功能特性方面是當前最先進的工具。
- Docker Swarm 允許在Docker集群中調度容器,與 Docker 環境緊密集成。
- Rancher 在機器集群上以
stack
(linked容器)為單位管理容器。它有直觀的界面和良好的文檔以及本身運行在容器內部。 - Mesosphere 通用的數據中心管理系統。不是專為 Docker 開發,但是能輕松管理容器,也可以與其它編排系統如 Kubernetes 集成,或者與像Hadoop的傳統服務集成。
- CoreOS fleet CoreOS操作系統的一部分,管理在 CoreOS 集群中任何調度命令(比如運行Docker或者rkt容器)。
- Nomad 通用的應用調度工具,內置支持 Docker。
- Centurion Newrelic 的內部部署工具。
- Flocker 運行在不同主機的容器間數據/Volume遷移工具。
- Weave Run 提供微服務架構的服務發現、路由、負載均衡和地址管理。 </ul>
- CoreOS 為自動更新設計以及著重在機器集群之間的運行容器。不僅與systemd的fleet調度器交付,而且支持其它編排系統。
- Project Atomic 運行Docker、Kubernetes、rpm、systemd的輕量級操作系統。
- Rancher OS 只有 20MB 大小用容器運行整個操作系統。 它區分
系統容器
和用戶容器
,他們運行在分離的Docker守護進程中。 - Project Photon VMWare 開源的工具。 </ul>
- Docker Registry 最流行的開源registry。你可以在自己的設施上運行或者使用Docker Hub。
- Docker Hub 提供了直觀的界面、自動化構建、私有倉庫以及眾多官方鏡像。
- Quay.io CoreOS 開發的容器倉庫。
- CoreOS Enterprise Registry 著重提供細化權限和審計跟蹤。 </ul>
- cAdvisor Google 開源項目。分析容器的資源使用和性能特性,可以用 InfluxDB 作為數據存儲,以便后續分析。
- Datadog Docker 收集容器的運行信息,發送到 Datadog 分析。
- NewRelic Docker 發送容器統計信息到 NewRelic 的云服務。
- Sysdig 監控容器資源使用情況。
- Weave Scope 自動生成容器關系圖,有助于理解、監控和控制應用服務。
- AppFormix 實時基礎設施監控,支持 Docker 容器。 </ul>
支持 Docker 的云服務商
云服務商已經在他們的平臺上提供運行容器的解決方案。一些是內部的解決方案,其它的則是基于開源軟件。當然在云主機上安裝 Docker來運行容器是沒有任何問題的。不過,大多數云服務商的容器服務更進一步地提供了更為簡潔友好的用戶管理界面。容器編排工具
容器編排工具現在是最具競爭的領域之一。管理少數幾個容器很簡單,但是調度、管理以及監控大規模容器很具有挑戰性。容器編排工具處理多種多樣任務,比如查找最優的位置或者服務器來運行容器,處理失敗的任務,分享儲存卷或者創建負載均衡與容器間通訊的覆蓋網絡。常見的編排項目有:
操作系統
你可以在任何操作系統來運行容器,但是企業正越來越多的容器化他們整個基礎設施。因此,為Docker或者相關服務運行一個最小化操作系統是非常有意義的。容器鏡像倉庫 Registry
鏡像Registry是“容器鏡像的GitHub”,你可以與你的團隊或者其他人分享容器鏡像。監控
容器輸出的日志可以很方便與已有日志收集工具整合。容器監控軟件通常關注容器的資源使用情況(CPU、內存)。原文鏈接:A Brief Guide to the Docker Ecosystem (翻譯:劉蘭濤,審校:田浩浩 )
===========================
譯者介紹
劉蘭濤,長期關注自動化運維、系統與網絡、數據分析和 CDN 技術。業余 iOS 開發者。現為環信運維負責人。
如果你對高并發即時通訊和客服系統的容器化和運維工作感興趣,歡迎與我聯系。
來自:http://dockone.io/article/724
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!