容器生态圈项目一览:引擎、编排、OS、Registry、监控

本文讲的是容器生态圈项目一览:引擎、编排、OS、Registry、监控 【编者的话】如火如荼的容器化运动中,引擎、服务商和工具等方面都涌现了一大批优秀的成果,本文对这些方面做出简要总结。

Docker 是近一两年来发展最快的技术。很多公司都在使用 Docker(或容器)技术。有的只是用 Docker 来构建本地开发环境,但越来越多的公司是在利用容器技术彻底改造已有的架构和部署流程。本文对当今的容器生态环境做一个简单介绍。

引擎 / 运行环境

容器引擎是容器技术的核心。引擎通常以一些说明性的描述,比如 Dockerfile ,来创建和运行容器。谈论 Docker 时,一般指的就是 Docker 引擎。
  • Docker Engine 是当前最流行的引擎,也是事实的工业标准。
  • rkt 是CoreOS 团队主导的开源引擎,用于替代 Docker 引擎。

支持 Docker 的云服务商

云服务商已经在他们的平台上提供运行容器的解决方案。一些是内部的解决方案,其它的则是基于开源软件。当然在云主机上安装 Docker来运行容器是没有任何问题的。不过,大多数云服务商的容器服务更进一步地提供了更为简洁友好的用户管理界面。

容器编排工具

容器编排工具现在是最具竞争的领域之一。管理少数几个容器很简单,但是调度、管理以及监控大规模容器很具有挑战性。容器编排工具处理多种多样任务,比如查找最优的位置或者服务器来运行容器,处理失败的任务,分享储存卷或者创建负载均衡与容器间通讯的覆盖网络。

常见的编排项目有:
  • 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 提供微服务架构的服务发现、路由、负载均衡和地址管理。

操作系统

你可以在任何操作系统来运行容器,但是企业正越来越多的容器化他们整个基础设施。因此,为Docker或者相关服务运行一个最小化操作系统是非常有意义的。
  • CoreOS 为自动更新设计以及着重在机器集群之间的运行容器。不仅与systemd的fleet调度器交付,而且支持其它编排系统。
  • Project Atomic 运行Docker、Kubernetes、rpm、systemd的轻量级操作系统。
  • Rancher OS 只有 20MB 大小用容器运行整个操作系统。 它区分系统容器 和 用户容器,他们运行在分离的Docker守护进程中。
  • Project Photon VMWare 开源的工具。

容器镜像仓库 Registry

镜像Registry是“容器镜像的GitHub”,你可以与你的团队或者其他人分享容器镜像。
  • Docker Registry 最流行的开源registry。你可以在自己的设施上运行或者使用Docker Hub。
  • Docker Hub 提供了直观的界面、自动化构建、私有仓库以及众多官方镜像。
  • Quay.io CoreOS 开发的容器仓库。
  • CoreOS Enterprise Registry 着重提供细化权限和审计跟踪。

监控

容器输出的日志可以很方便与已有日志收集工具整合。容器监控软件通常关注容器的资源使用情况(CPU、内存)。
  • cAdvisor Google 开源项目。分析容器的资源使用和性能特性,可以用 InfluxDB 作为数据存储,以便后续分析。
  • Datadog Docker 收集容器的运行信息,发送到 Datadog 分析。
  • NewRelic Docker 发送容器统计信息到 NewRelic 的云服务。
  • Sysdig 监控容器资源使用情况。
  • Weave Scope 自动生成容器关系图,有助于理解、监控和控制应用服务。
  • AppFormix 实时基础设施监控,支持 Docker 容器。

原文链接:A Brief Guide to the Docker Ecosystem (翻译:刘兰涛,审校:田浩浩 )

===========================
译者介绍
刘兰涛 ,长期关注自动化运维、系统与网络、数据分析和 CDN 技术。业余 iOS 开发者。现为 环信 运维负责人。
如果你对高并发即时通讯和客服系统的容器化和运维工作感兴趣,欢迎与我联系。

原文发布时间为:2015-10-09
本文作者:刘兰涛 
本文来自云栖社区合作伙伴DockerOne,了解相关信息可以关注DockerOne。
原文标题:容器生态圈项目一览:引擎、编排、OS、Registry、监控
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/225178

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。