华为梁辰晔:OCI容器标准的社区演进和OCI方案的实战

原创
云计算
2017年12月01日-02日,由51CTO主办的WOTD全球软件开发技术峰会将在深圳中州万豪酒店隆重举行。届时,华为主任工程师梁辰晔将在微服务与容器技术分会场与来宾分享"OCI容器标准的社区演进和OCI方案的实战"的主题演讲。

【51CTO.com原创稿件】2017年12月01日-02日,由51CTO主办的WOTD全球软件开发技术峰会将在深圳中州万豪酒店隆重举行。本次峰会以软件开发为主题,数十位专家级嘉宾将带来多场精彩的技术内容分享。届时,华为主任工程师梁辰晔将在微服务与容器技术分会场与来宾分享"OCI容器标准的社区演进和OCI方案的实战"的主题演讲,为大家详细阐述容器标准的目前发展状况及如何打造一套完整的OCI社区方案。51CTO诚邀您莅临大会,与我们共享技术带来的喜悦。

51CTO记者对即将参加大会演讲的梁辰晔老师进行了专访,让我们先睹为快,探听一下他是解读OCI方案实战的。

华为

OCI 1.0已经发布

2015年,由Docker、IBM、微软、红帽及Google等厂商所组成的OCI联盟成立,并于2016年4月推出了***个开放容器标准。除推出OCI Runtime标准,让开发者打包、部署应用程序,并可以自由选用不同的容器Runtime外,还推出开放容器OCI镜像标准,由容器技术社区制定规范,确立容器镜像建立、认证、部署以及命名的方式。今年早些时候,***个标准OCI 1.0版终于正式出炉,此标准也意味容器离标准化更近一步。

时至今日,OCI容器标准发展如何了?梁辰晔老师详细做了介绍。

runtime标准已经发布了1.0版本,相对比较成熟,当前的主流容器引擎包括runc, rkt, runv等都能兼容runtime标准。image 标准也已经发布了1.0版本,但是这个标准仅限于格式标准。OCI Image格式和Docker的镜像格式非常相似(因为OCI Image格式完全借鉴Docker的镜像格式),包括一个完整的分层技术和描述文件。

目前,OCI社区提供工具来验证 “某个runtime是否符合runtime标准”, 也提供工具来验证“某个image是否符合image标准”。

对 runtime的验证,是用每个标准项的预期的结果和实际的结果进行对比,如果全部一致,证明符合标准,反之则会报错。例如,要验证一个程序执行过程中的环境变量是否和设定的一致,那么只要把运行中的环境变量和配置里的环境变量进行对比即可。对image的验证,是判断某个image的各层、各配置项是否符合OCI含义,如果有不合规的配置,那么说明这个镜像 “非OCI标准”。

华为

OCI路标

存在不可忽视的缺陷

容器标准的发展历史尚短,目前主要存在两个缺陷:

1. 镜像发现获取机制的欠缺, 这也是和主流的Docker/rkt的***差距

镜像标准制定了镜像的格式,但是“从哪获取镜像,如何获取”,都是问题。这就限制了OCI镜像的流行,因为用户或开发者根本找不到一个可用的镜像。针对于此,社区的做法是从Docker里面获取一个Docker镜像,然后转化成OCI镜像。但很明显,这个根本无法商业化。

这也可以说明Docker为什么流行,就是Docker的镜像应用比较丰富,镜像的制作和发布很方便。OCI没有了镜像的分发机制,就只能是一个理论上的产物。

2. 无法覆盖更多的场景

容器方案千差万别,OCI社区无法预知到一个能够符合所有场景的标准。比如 runV,也有一些选项是OCI无法满足的。

梁辰晔老师表示,目前容器标准能够相安无事还是因为社区里面Docker一家独大,未来容器标准能否覆盖更多的方案还未知,那个时候才是真正考验“标准”社区的时候。

打造完整的OCI社区方案

说到如何打造一套完整的OCI社区方案,目前可以参考的还是 Docker方案。

Docker里包括:1. Hub:负责镜像的托管。 2. Build:负责镜像的制作。 3. Dockerfile :镜像制作的配置文件。4. Docker pull/push:负责镜像的传输 5. Image:本地管理,把获取的镜像在本地理起来。 6. Docker run:负责镜像的运行。其中,4~6都是Docker命令来完成。

这里的 1~5,其实都与镜像相关,只有6与runtime相关。因此可以看到,一个完整的 OCI方案,需要有大量的镜像相关的操作。而这些都是OCI里没有的,也是未来OCI社区要做的事情。

梁辰晔老师将在WOTD现场,用当前的开源项目为原型演示一个完整的OCI方案。

华为

OCI的架构图

向“商业成熟”努力

目前,OCI按照先易后难的原则聚焦运行时和镜像格式的标准化,1.0标准发布之后,OCI的标准范围会逐渐扩大到镜像发现机制、镜像获取机制等内容,引入新的项目。未来OCI社区的方案肯定会越来越“商业成熟”,那个时候才能真正体现OCI的价值。

对于PaaS云开发、部署和运维人员来说,到时就可以不用特别担心集成的runtime和选用的镜像是否有兼容问题,只要符合OCI标准就能无缝的“获取”和“运行”。

【讲师简介】

梁辰晔,华为主任工程师,从事容器相关的开发以及社区组织工作。现为Linux/OCI社区maintainer,华为容器OS社区(EulerOS iSula)的负责人。拥有10多年的社区布道、社区开发和商业产品的交付经验。先后活跃于GNOME社区、openSUSE社区,对开源开发、开源到商业的转换有深刻的理解。

WOT

使用双十一特别优惠码[B310BD20D337F914] 立减200元,和我一起去WOTD全球软件开发技术峰会!详情点击wot.51cto.com

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

责任编辑:赵立京 来源: 51CTO
相关推荐

2017-11-30 10:34:50

云计算容器

2021-10-25 08:20:45

工具容器OCI

2020-10-16 18:30:41

K8SDockerCRI-O

2017-03-20 15:26:12

容器网络方案Vlan模式

2021-12-30 10:30:12

RunC命令Linux

2015-07-08 17:09:04

红帽容器

2010-10-26 15:12:10

连接Oracle数据库

2021-10-27 10:12:54

DockerContainerdRunC

2022-05-13 08:04:51

Oracle存储服务Cloudflare

2023-11-23 16:49:56

容器PodmanDocker

2023-02-01 10:11:06

转转容器日志

2010-05-28 11:56:10

IPv6网络

2018-01-05 11:19:40

华为

2022-12-08 19:27:38

2018-06-28 15:18:01

饿了么容器云计算

2012-05-25 14:54:49

华为桌面云
点赞
收藏

51CTO技术栈公众号