@JunQiu
2018-11-04T18:51:16.000000Z
字数 964
阅读 2090
容器编排、OCI 和 runc
docker
1、OCI 和 runc
1.1、什么是 OCI 和 runc??
- 起因
- 随着容器的发展,越来越多的人使用容器去部署自己的服务,可能大家了解最多的可能就是docker,但 docker 就是容器的标准吗??不允许存在其他的容器(比如 coreOS 推出的 rkt);其次容器上层抽象(容器集群调度,比如 kubernetes、mesos 等)和 docker 紧密耦合,docker 接口的变化将会导致它们无法使用,同时也为了避免docker的一家独大,OCI出现了,解构了docker的技术结构,重新构建了容器的生态圈,让各大厂商和docker在同一平台竞争。
- OCI 由 docker、coreos 以及其他容器相关公司创建于 2015 年,目前主要有两个标准文档:容器运行时标准 (runtime spec)和 容器镜像标准(image spec)
- runc 是 docker 捐赠给 OCI 的一个符合标准的 runtime 实现,目前 docker 引擎内部也是基于 runc 构建的。主要是指定容器的运行状态,和 runtime 需要提供的命令。
1.2、参考文档
2、容器编排
2.1、什么是容器编排??
- 容器编排工具为开发人员和基础设施团队提供了一个抽象层来处理大规模的容器化部署。容器编排工具提供的特征在众多提供者之间有所不同,然而常见的公共特征包含部署、发现、资源管理、、分配、监视和部署、保证服务的可用性、容错性等等。
2.2、常见的容器编排工具
- Kubernetes正在成为容器编排领域的领导者,由于其可配置性,可靠性和大型社区的支持,从而超越了Docker Swarm。Kubernetes由Google创建,作为一个开源项目,与整个Google云平台协调工作。
- Swarm是Docker自己的编排工具,现在与Docker Engine完全集成,并使用标准API和网络。Swarm模式内置于Docker CLI中,无需额外安装,并且易于获取新的Swarm命令。部署服务可以像使用docker service create命令一样简单。
- Amazon Elastic Container Service(ECS)是亚马逊专有的容器调度程序,旨在与其他AWS服务协调工作。
2.3、参考文档