Cgroup maintainer丽泽范:解剖Linux核心容器技术
2015年4月16-18日,由CSDN主办、CSDN专家顾问团支持的OpenCloud 2015大会将在北京国家会议中心拉开帷幕。
为期三天的大会,以推进行业应用中的云计算核心技术发展为主旨,聚焦技术创新与应用实践,设置了“2015 OpenStack技术大会”、“2015 Spark技术峰会”、“2015 Container技术峰会”三大技术峰会及多场深度行业实战培训。
本次大会将邀请近40位国内外云计算技术领域顶尖专家与一线实践者,深入讨论OpenStack、Spark、Docker、Kubernetes等开源技术的最新进展,各个核心项目/组件的演进趋势,以及它们的最新业界应用。点击报名。
在“2015 Container技术峰会”,我们请到了Linux内核高级project师李泽帆担任演讲嘉宾,他将带来的分享主题为《Linux内核容器技术的历史、现状和展望》。介绍Docker的基石——Cgroup和namespace等Linux内核特性的发展历程。眼下它们在社区处于如何的开发状况,以及在眼下Docker引发的热潮下,内核社区是否会从底层提供更完好的容器技术。
李泽帆觉得,容器的长处在于以接近物理机的执行效率提供了虚拟化功能、能比虚拟机达到更高的实例密度、达到秒级的启动速度。
Docker又加上了层级镜像的创新。使得软件的公布和部署很便捷。因此容器/Docker有广泛的应用场景,应用时在软件架构上參考微服务架构。
他同一时候也指出。Docker还不够成熟。存在网络功能薄弱(如跨主机的容器网络互连)、安全性(Daemon是一个单点故障)、执行传统业务困难(如CT业务)等挑战。李泽帆对Docker的未来很有信心,但眼下,了解Docker的底层技术以及内核容器技术的发展趋势,包含了解Docker的局限性。更有利于我们扬长避短使用Docker。因此,他的分享很值得期待。
李泽帆
Linux Contributor。华为Linux内核高级project师
2007年開始从事Linux内核开发,一直活跃在内核开源社区,为内核累计贡献约800个Patch。
在社区中担任Cgroup及cpuset的maintainer。同一时候也担任Linux 3.4版本号maintainer。
眼下在华为从事内核、Docker相关工作。
对话李泽帆:
CSDN:首先请介绍下您自己,以及您在Container/Docker技术方面所做的工作。
李泽帆:我从2007年開始參与linux内核开发工作,在内核里贡献了大概800个Patch。我參与的第一个内核项目就是Cgroup。到了2009年,我開始在内核开源社区担任Cgroup的maintainer,到了2013年。因为前后两任cpuset的maintainer相继离开,我把这个活也揽了下来。Cgroup(包含cpuset)是容器技术的最重要组件之中的一个。
除了开源社区的工作。我在华为负责Linux内核部门的技术工作。我们之前就有团队从事LXC的工作,因此Docker出现后,我们自然也就成立了Docker项目组。
CSDN:您所在的企业是怎样使用Container/Docker技术的?为企业带来了哪些优点?
李泽帆:华为的产品线和业务线非常长,我们有不少部门都在尝试或者考虑将Docker用起来。可是相比互联网公司能够高速的利用开源项目。让Docker满足企业领域和CT领域的商用要求,眼下还有不少困难,特别是在CT领域。
CSDN:您觉得Container/Docker技术最适用于哪些应用场景?
李泽帆:这要从容器的优势来看。
容器的长处在于以接近物理机的执行效率提供了虚拟化功能、能比虚拟机达到更高的实例密度、达到秒级的启动速度。
Docker又加上了层级镜像的创新。使得软件的公布和部署很便捷。能用上这些长处的地方,自然就是Docker的使用场景了。
实际上这种场景是许多的,这也是Docker的生态发展的如此高速和繁荣的原因之中的一个。我们看到有无数基于Docker的开源项目产生。包含CoreOS、Kubernetes、Deis等等,而现有的开源项目也都纷纷拥抱Docker,比如Openstack、Mesos、Cloud Foundry等等,我们也看到国内外各个云平台争先恐后的宣布支持Docker。
只是。对于企业来说,最easy用上Docker的场景。我觉得还是用Docker来搭建私有云,以及把Docker用在持续集成平台上。
CSDN:企业在应用Container/Docker技术时,须要做哪些改变吗?企业假设想高速应用Docker应该怎样去做?
李泽帆:刚才说过Docker的使用场景许多。因此这个问题也就不能一概而论了。最理想的情况是遵循Docker的理念,即每一个容器仅仅执行一个进程,把Docker作为Application Container来使用。而非System Container,因此在软件架构上參考微服务架构。
还有一方面。因为Docker还不够成熟。而且开源软件往往是满足不了全部企业的需求的,因此企业在实际应用Docker的时候,往往都须要做一定的定制,因此也就要求企业有熟悉Docker的开发者。对于这种定制,应该注意尽量不要改变、破坏Docker眼下的接口,而且在代码上实现较好的解耦,以方便日后对Docker版本号的升级。
CSDN:您所在的企业在应用Container/Docker技术时遇到了哪些问题?是怎样解决的?
李泽帆:大家都遇到的问题我们也遇到了,比如跨主机的容器网络互连,因为Docker没有提供这种能力,我们仅仅能使用flannel之类的第三方方案。
这样也还是有些缺点,比如容器因故障而重新启动后。网络又要又一次配置。
另外更大的问题是。CT业务要在容器内执行,会遇到非常多挑战。这方面我们还在探索中。
CSDN:作为当前最流行的Container技术,您觉得Docker还有哪些方面须要改进?
李泽帆:Docker的网络功能太弱,近期Docker收购了SocketPlane,相信在这方面非常快就有突破,个人预測在今年的DockerCon会宣布相关的进展,大家能够拭目以待。
Docker Daemon的安全性也是一个非常大的问题,包含须要root权限才干执行。以及出现问题后重新启动会导致全部容器也重新启动。也就是Daemon是一个单点故障,这也是Docker被CoreOS诟病的当中一个原因。
当然,Docker还非常年轻,因此有大大小小的各种问题。但相信以Docker眼下的发展态势,这些问题都会得到解决。
CSDN:您在本次演讲中将分享哪些话题?
李泽帆:我是做底层开发的。而且是做开源开发的。所以这次我会给大家讲讲容器技术在内核社区的发展历程,以及在眼下Docker引发的热潮下。内核社区是否会从底层提供更完好的容器技术。
CSDN:哪些听众最应该了解这些话题?您所分享的主题能够帮助听众解决哪些问题?
李泽帆:对Docker的底层技术感兴趣以及想了解内核容器技术的发展趋势的,都能够听听。这能够帮助听众了解容器技术提供了多大程度的隔离和安全,因此更好的了解Docker的局限性。
2015 Container技术峰会已经邀请Google Kubernetes核心开发者来华。和国内用户分享Kubernetes的技术细节,探讨Container未来的发展方向。此外还有VMware、华为、红帽、美团、腾讯、云雀科技、数人科技、上海点融等公司Container/Docker技术实践者。也将同台分享Container/Docker及其相关项目的实战经验。
附:Container技术峰会全日程

“2015 OpenStack技术大会”、“2015 Spark技术峰会”、“2015 Container技术峰会” 4月17-18日在北京召开。日程所有公开! OpenCloud
2015,懂行的人都在这里!很多其它讲师和日程信息请关注OpenCloud 2015介绍和官方网站。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Cgroup maintainer丽泽范:解剖Linux核心容器技术的更多相关文章
- 01. DOCKER - 容器技术
什么是容器 对于容器这个词,大部分人第一时间想到的肯定是生活中常见瓶瓶罐罐,用来装水的东西.它给人的第一感觉就是能 "装". 而在 IT 领域,Container 就被直译为容器, ...
- Docker容器技术的核心原理
目录 1 前言 2 docker容器技术 2.1 隔离:Namespace 2.2 限制:Cgroup 2.3 rootfs 2.4 镜像分层 3 docker容器与虚拟机的对比 1 前言 上图是百度 ...
- Linux 容器技术史话:从 chroot 到未来
Linux 容器是一个在单一 Linux 主机上提供多个隔离的 Linux 环境的操作系统级虚拟技术.不像虚拟机(VM),容器并不需要运行专用的访客(guest)操作系统.容器们共享宿主机的(host ...
- Docker核心实现技术(命名空间&控制组&联合文件系统&Linux网络虚拟化支持)
作为一种容器虚拟化技术,Docker深度应用了操作系统的多项底层支持技术. 早期版本的Docker是基于已经成熟的Linux Container(LXC)技术实现的.自Docker 0.9版本起,Do ...
- Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)
一 Ansible自动化运维工具 Python 在运维工作中的经典应用 ansible(批量管理操作) .安装ansible(需要bese epel 2种源) wget -O /etc/yum.rep ...
- Docker容器技术的核心
容器技术的核心 所谓容器,其实是由Linux Namespace.Linux Cgroups和rootfs三种技术构建出来的进程的隔离环境 对于Docker项目来说,其实最核心就是为待创建的用户进程: ...
- Asp.net 面向接口可扩展框架之核心容器(含测试代码下载)
新框架的容器部分终于调通了!容器实在太重要了,所以有用了一个名词叫“核心容器”. 容器为什么那么重要呢?这个有必要好好说道说道. 1.首先我们从框架名称面向接口编程说起,什么是面向接口编程?(这个度娘 ...
- 举例说,Linux核心名单(两)
使用列表 我认为最好的方式,成为熟悉的核心列表功能是看一些简单的例子,素材去更好的理解链表. 以下是一个样例.包括创建.加入.删除和遍历链表. <span style="font-si ...
- k8s 核心功能 - 每天5分钟玩转 Docker 容器技术(116)
本节带领大家快速体验 k8s 的核心功能:应用部署.访问.Scale Up/Down 以及滚动更新. 部署应用 执行命令: kubectl run kubernetes-bootcamp \ --im ...
随机推荐
- 文件搜索神器 Everything
Everything 是一款 NTFS 磁盘格式下的文件搜索工具,1月5日发布测试版本 1.3.0.631b Beta,增加文件列表.收藏夹.自定义快捷键.高级搜索等功能,取消了比较实用的 etp/f ...
- ajax跨域请求学习笔记
原文:ajax跨域请求学习笔记 前言 ajax,用苍白的话赞扬:很好. 我们可以使用ajax实现异步获取数据,减少服务器运算时间,大大地改善用户体验:我们可以使用ajax实现小系统组合大系统:我们还可 ...
- java 二维码原理以及用java实现的二维码的生成、解码(转)
http://blog.csdn.net/songylwq/article/details/8643948 http://sjsky.iteye.com/blog/1136934 http://bbs ...
- 在Sql中使用Try Catch
原文:在Sql中使用Try Catch 今天在写sql中出现了!我想在sql使用trycatch吧! 哎..但是语法又记不住了! 那就清楚我们的google大师吧! 嘿,网上关于在sql中使用Try ...
- [DEEP LEARNING An MIT Press book in preparation]Deep Learning for AI
动人的DL我们有六个月的时间,积累了一定的经验,实验,也DL有了一些自己的想法和理解.曾经想扩大和加深DL相关方面的一些知识. 然后看到了一个MIT按有关的对出版物DL图书http://www.iro ...
- MD5和Base64
一. 简述 MD5: 全称为message digest algorithm 5(信息摘要算法), 能够进行加密, 可是不能解密, 属于单向加密, 通经常使用于文件校验 Base64: 把随意序列的8 ...
- 走向DBA[MSSQL篇] 针对大表 设计高效的存储过程【原理篇】 附最差性能sql语句进化过程客串
原文:走向DBA[MSSQL篇] 针对大表 设计高效的存储过程[原理篇] 附最差性能sql语句进化过程客串 测试的结果在此处 本篇详解一下原理 设计背景 由于历史原因,线上库环境数据量及其庞大,很多千 ...
- Python网络01 原始Python服务器
原文:Python网络01 原始Python服务器 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 之前我的Python教程中有人 ...
- build path--use as source folder 应用
今天eclipse.当打算run随着main功能class时间,出现editor does not contain a main type该错误框. baidu了一下,迅速解决这个问题:原来这个cla ...
- [SignalR]配置路由
原文:[SignalR]配置路由 注册路由,在代码如下(SignalR 1.*): 脚本修改如下: 但是其官方文档解释是: By default, the route URL which client ...