Cgroup maintainer丽泽范:解剖Linux核心容器技术

摘要:Cgroup和namespace等内核特性如何出现,在社区处于如何的开发状况?Docker如火如荼。内核社区是否会因此加紧完好容器技术的隔离性安全性?华为Linux内核高级project师李泽帆将在2015 Container技术峰会上具体讲解。

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。因此,他的分享很值得期待。

Cgroup maintainer丽泽范:解剖Linux核心容器技术李泽帆

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技术峰会全日程

Cgroup maintainer丽泽范:解剖Linux核心容器技术


“2015 OpenStack技术大会”、“2015 Spark技术峰会”、“2015 Container技术峰会” 4月17-18日在北京召开。日程所有公开 OpenCloud
2015
,懂行的人都在这里!很多其它讲师和日程信息请关注OpenCloud 2015介绍官方网站

版权声明:本文博客原创文章,博客,未经同意,不得转载。

上一篇:python--第一天总结


下一篇:用 volume container 共享数据 - 每天5分钟玩转 Docker 容器技术(42)