【编者的话】如火如荼的容器化运动中,引擎、服务商和工具等方面都涌现了一大批优秀的成果,本文对这些方面做出简要总结。

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

引擎 / 运行环境

容器引擎是容器技术的核心。 引擎用来创建和运行容器。 谈论 Docker 时,一般指的就是 Docker 引擎。

  • Docker Engine 是当前最流行的引擎,也是事实的工业标准。
  • rkt CoreOS 团队主导的开源引擎,用于替换 Docker 引擎。

支持 Docker 的云服务商

在云主机上安装 Docker 运行容器,当然没有任何问题。

不过,云服务商的容器服务,能提供更简洁友好的管理工具。

容器封装工具

封装工具现在是最热闹的领域。 管理少数几个容器很简单,但是管理大量容器保持高扩展性却很有挑战。

容器封装工具解决了很多繁琐的问题:

  • 容器资源分配
  • 容错
  • 共享存储
  • 负载均衡
  • 网络拓扑管理

常见的项目有:

  • Kubernetes Google 开源的工具,在功能特性方面是当前最先进的工具。
  • Docker Swarm 与 Docker 环境紧密集成。
  • Rancherstack(linked containers) 为单位管理容器。有直观的界面和良好的文档。
  • Mesosphere 通用的数据中心管理系统。不是专为 Docker 开发,能轻松管理容器,也可以与其它系统如 Kubernetes 集成。
  • CoreOS fleet CoreOS 的一部分,负责在 CoreOS 集群中调度容器。
  • Nomad 通用的应用调度工具,内置支持 Docker。
  • Centurion Newrelic 的内部部署工具。
  • Flocker 容器间数据的管理工具。
  • Weave Run 提供服务发现、路由、负载均衡和微服务架构的地址管理。

操作系统

几乎任何操作系统都可以用来运行容器。

为运行容器,一般使用最小化的系统镜像。 很多公司提供包含多种实用工具的镜像。

容器镜像仓库 Registry

Registry 实现和服务商有:

监控

容器输出的日志,很方便与已有日志收集工具整合。

容器监控一般关注资源使用(CPU,内存)。

  • cAdvisor Google 开源项目。分析资源使用和性能特性,可以用 InfluxDB 作为数据存储,以便后续分析。
  • Datadog Docker 收集容器的运行信息,发送到 Datadog 分析。
  • NewRelic Docker 发送容器统计信息到 NewRelic 的云服务。
  • Sysdig 监控容器资源使用情况。
  • Weave Scope 自动生成容器关系图,有助于理解、监控和控制应用服务。
  • AppFormix 实时基础设施监控,支持 Docker 容器。

原文链接:英文原文 (翻译:刘兰涛 http://blog.liulantao.com


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