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 ...
随机推荐
- 数据结构 - 双链表(C++)
// ------DoublyLinkedList.h------ template <class T> class DNode { private: // 指向左.右结点的指针 DNod ...
- Swift学习资料
http://www.hangge.com/blog/cache/category_72_1.html
- WebService 简单安全验证
原文:WebService 简单安全验证 最近新接了一个需要调用第三方WebService的项目,看到这个第三方WebService被调用的时候,需要授权用户名和密码,于是自己也想对WebServic ...
- hdu 2767 Proving Equivalences 强连通缩点
给出n个命题,m个推导,问最少添加多少条推导,能够使全部命题都能等价(两两都能互推) 既给出有向图,最少加多少边,使得原图变成强连通. 首先强连通缩点,对于新图,每一个点都至少要有一条出去的边和一条进 ...
- MAC 10.10 apache 服务器配置
mac中自带了apache服务器, 如果需要在mac上使用apache服务器, 只需要配置并启动服务器即可. mac 10.10 中自带的apache版本是 2.4 mac 10.9 中自带的apac ...
- C# - is
Checks if an object is compatible with a given type. An is expression evaluates to true if the pr ...
- SDUT 2933-人活着系列Streetlights(最小生成树Kruskal+和理查德设置来实现)
人活着系列之Streetlights Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 人活着假设是为了家庭,亲情----能够说 ...
- VS怎样创建和使用lib文件
假设你当前正在使用vs写了一个project,那么你想如今就生成一个Lib文件,那么能够直接在"项目属性"上进行改动i 项目属性->配置属性->常规->配置类型中 ...
- php方法综述除去换行符(PHP_EOL使用变量)
一个小包裹,事实上,不同的平台具有不同的实现.为什么要这样.它可以是一个世界是多样的. 最初unix与世界把它包/n取代,但windows为了体现自己的不同.要使用/r/n,更有意思的是,mac随着/ ...
- 古老server源代码迁移到新server
因为老vsts资源server不久,准备存档,现在在旧的需要server该代码仍然在使用的所有迁移到新的vstsserver在. 因此,我们需要迁移所有需要也许是习惯了新的代码vsts在之上.代码的迁 ...