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++日历改进版
#include<iostream> # include<fstream> #include<time.h> #include<string> #inc ...
- 编程算法 - 最小的k个数 红黑树 代码(C++)
最小的k个数 红黑树 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入n个整数, 找出当中的最小k个数. 使用红黑树(multiset) ...
- LinuxDLL加载优化方案
作者:zhanhailiang 日期:2014-10-26 linux程序动态库载入流程简单介绍 linux从程序(program或对象)变成进程(process或进程),简单说来须要经过三步: fo ...
- JTree
http://www.easyicon.net/ package swing.tree; import java.awt.BorderLayout; import java.awt.Component ...
- csdn仍是"待定"对?
正如标题,我的博客会审查,?我们见证.如此反复.考虑到该博客平台的变化. 看来,这次最终逃脱被"待审核",看来再也不用受这个困扰了,希望以后CSDN可以在 ...
- HDU 4300 Clairewd’s message(扩展KMP)
思路:extend[i]表示原串以第i開始与模式串的前缀的最长匹配.经过O(n)的枚举,我们能够得到,若extend[i]+i=len且i>=extend[i]时,表示t即为该点之前的串,c即为 ...
- 首先看K一个难看的数字
把仅仅包括质因子2.3和5的数称作丑数(Ugly Number),比如:2,3,4,5,6,8,9,10,12,15,等,习惯上我们把1当做是第一个丑数. 写一个高效算法,返回第n个丑数. impor ...
- Redis系列之(一):10分钟玩转Redis(转)
1. Redis介绍 Redis是一个开源的使用ANSI C语言编写.基于内存的Key-Value数据库. 它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集 ...
- C#+Mapxtreme 实现一些GIS系统基本的功能
此程序包括了mapxtreme地图相关基本功能的演示其中包括 鹰眼地图,图层控制,发达,缩小,平移地图,地图模糊查询,中点工具,距离测量工具,面积测量工具,图元信息查看工具.适合于企业级开发,可以为您 ...
- Android-往来:添加到联系人
//添加到联系人.使用事务 public void testAddContact() { String name[]={"周杰伦","谢霆锋","言承 ...