Docker 技术架构详解与实践

yxwpx

贡献于2015-07-20

字数:0 关键词: 虚拟化

Docker技术架构详解与实践 孙宏亮 陈星宇 浙江大学 SEL(VLIS)实验室 www.sel.zju.edu.cn 陈星宇: 浙江大学 计算机系研究生 研究方向 :分布式系统 轻量级虚拟化 机器人技术 Docker User and Lover Email : wizard_cxy@hotmail.com 孙宏亮: 浙江大学计算机学院研究生 从事云计算PaaS及Docker相关方向的探索与研究 目前加入创业团队 daocloud 创业团队 InfoQ 专栏作者,撰写《Docker 源代码分析》 系列文章 Email:shlallen@zju.edu.cn Docker Meetup. 杭州 Agenda 孙宏亮 •Docker introduction •Docker architecture 陈星宇 •Cloud Foundry on Docker •Benchmark and Innovations Docker Meetup. 杭州 3 Docker介绍 Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating system– level virtualization on Linux. ——from wiki 图片源: http://en.wikipedia.org/wiki/Docker_%28software%29 1. 2. 3. 4. 5. 1.4.1 now Docker Meetup. 杭州 Docker架构 • Docker Client • Docker Daemon • Docker Registry • Driver • Graph • libcontainer • Docker Container Docker Meetup. 杭州 Docker 架构——Docker Daemon •Docker Server 服务于Docker API •Engine 执行引擎 •Job Engine内工作最 小执行单元 Docker Meetup. 杭州 Docker 架构——Driver •Execdriver 管理容器的运行 •Networkdriver 管理容器的网络 •Graphdriver 管理容器的镜像 Docker Meetup. 杭州 Docker 架构——execdriver •LXC 早版使用LXC作为创建 管理容器的工具 •Native 如今使用native来创建 管理容器,native调用 libcontainer Docker Meetup. 杭州 Docker 架构——libcontainer libcontainer •namespace •cgroups •apparmor •netlink •capabilities •…… Docker Meetup. 杭州 Docker 架构——networkdriver •bridge •network interface •IP •port Docker Meetup. 杭州 Docker 架构——Docker网络模式 Docker Daemon网络模式: •bridge桥接 •none(disabled) Docker Container网络模式: •bridge桥接模式 •host模式 •other container模式 •none(disabled)模式 Docker Meetup. 杭州 Docker 架构——graphdriver •aufs •btrfs •devmapper •vfs Overlayfs merged into Linux Kenerl 3.18-rc2 •overlay Docker Meetup. 杭州 Docker 架构——Graph •repository •graphdb Graph Docker Meetup. 杭州 Docker 架构——Registry (index.docker.io) Registry功能 管理镜像存储 供开发者下载、上传 Docker Hub Docker官方提供 (index.docker.io) Docker Hub特性 镜像丰富 保持更新 Challenges! 图片源:www.docker.com Docker Meetup. 杭州 Docker Hub Mirror架构图 •Docker Hub的功能拓展 •Docker Hub “CDN” •对用户透明 DaoCloud www.daocloud.io •Docker Hub Mirror •Serve developers in China Docker Meetup. 杭州 Docker Hub Mirror流程图 Much faster than yourself pull from Docker Hub Docker Meetup. 杭州 Docker Mirror原理 用户如何选择? 技术爱好者(hub)和企业用户的区别(private) private registry Mirror 镜像多样性 较丰富,需人为手动同步 足够丰富,与Docker Hub一致, 自动同步 使用方式 添加URL,侵入Dockerfile使用 设定Docker启动参数,无侵入性 registry升级 或出现故障 镜像全盘失效,修改所有镜像配 置,重新从Docker Hub下载 自动跳转到Docker Hub下载,用 户无任何影响 Hub镜像更新 老版本镜像失效,用户使用受阻 除非站主人为下载更新版本 老版本镜像失效,自动下载更新 版本覆盖前者,对用户透明 内部部署方式 私有化内部部署 Public Serivces 镜像下载 由站主选择 由用户选择 镜像存储 用户自行管理,备份, 一致性考虑 用户无需关心 访问速度 快速,私有网络 快速 Docker Meetup. 杭州 • Cloud Foundry on Docker 陈星宇 Docker Meetup. 杭州 Our work • 1 Build the BOSH VM-oriented Cloud Foundry release to Docker release described by Dockerfile. • 2 Develop a new Docker container orchestration Ship tool named Admiral. • 3 Run performance benchmark and functional test. Combine Docker Great Build , Ship , Run functionality to Cloud Foundry nats hm9000 Gorouter HM9000 Cloud Controller 1 BOSH CF Release to Docker CF Release BOSH packages, jobs scripts and configs to one unified Dockerfile Docker Meetup. 浙江大学 . 杭州 A gorouter Dockerfile example Docker Meetup . 浙江大学 . 杭州 The new way 2 New Orchestration tool Admiral • Docker is Awesome , But its Achilles : Orchestration Docker Meetup. 浙江大学 . 杭州 Admiral Managing Architecture Docker Meetup. 浙江大学 . 杭州 Docker Meetup. 浙江大学 . 杭州 One simple yaml file to define everything!! A real world example (our CF PaaS) Docker Meetup. 浙江大学 . 杭州 Admiral tool’s features !! Docker Meetup. 浙江大学 . 杭州 1 Owns the core technology. 2 Independent jobs can be parallel deployed, so deployment speed is greatly increased ! 3 Support multiple platforms, can be deployed with presence of IaaS or not. Admiral tool’s features !! Docker Meetup. 浙江大学 . 杭州 5 Easy continuous integration , deployment, the existing services continue to be available when horizontal scaling. 6 Dependences and contact info between components are configured simply, all defined in a yaml file. Docker version Cloudfoundry demonstration Docker Meetup . 浙江大学 . 杭州 CF apps and services Docker Meetup. 浙江大学 . 杭州 Docker Meetup. 浙江大学 . 杭州 Faster and More Efficient Computing , Memory and Disk IO Performance Performance Evaluation of Container-based Virtualization for High Performance Computing Environments Miguel G. Xavier, Marcelo V. Neves, Fabio D. Rossi, Tiago C. Ferreto, Timoteo Lange, Cesar A. F. De Rose Pontifical Catholic University of Rio Grande do Sul (PUCRS) Porto Alegre, Brazil Docker Meetup. 浙江大学 . 杭州 Performance Evaluation of Container-based Virtualization for High Performance Computing Environments Miguel G. Xavier, Marcelo V. Neves, Fabio D. Rossi, Tiago C. Ferreto, Timoteo Lange, Cesar A. F. De Rose Pontifical Catholic University of Rio Grande do Sul (PUCRS) Porto Alegre, Brazil More Efficient Network Performance Docker Meetup. 浙江大学 . 杭州 Faster Clound Foundry Deployment && Restart • With old way : BOSH deploy CF about 30mins or more • New approach Admiral with Docker Release(include ccng nats pg gorouter hm9000 uaa etcd) less than 1min 30 x faster • Can be even faster! • Due to 1 The minimal working component deployed 2 Container provision time (at least 0.1s) << VM provision time (at least 10s) 100x faster 3 The new parallel deployment of independent jobs Docker Meetup. 浙江大学 . 杭州 Faster Horizontal Scaling Speed Up 27*2.679/11.040 = 6.55x faster Can be more faster if deployed to multiple different hosts Docker Meetup. 浙江大学 . 杭州 Less Resource Consumption Total size 700+3+4+5 = 712MB VM size 1*3 = 3GB 4x less disk consumption Docker Meetup. 浙江大学 . 杭州

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享文档获得金币 ] 3 人已下载

下载文档

相关文档