写点什么

CRI-O 进入 CNCF 孵化阶段,或将挑战 Docker 在容器界的地位

  • 2019-04-10
  • 本文字数:1227 字

    阅读完需:约 4 分钟

CRI-O进入CNCF孵化阶段,或将挑战Docker在容器界的地位

根据 ZDNet 的消息,近期 CNCF 正式接纳了 CRI-O 为孵化项目,这意味着 CRI-O 或许将直接挑战 Docker 作为顶级容器运行时的地位。


CRI-O(Container Runtime Interface Orchestrator) 是一个轻量级的,专门对 Kubernetes 进行优化的容器运行时环境。CRI 最初是作为 API 来定义对容器运行时的调用,这允许用户开发 Kubernetes 友好的轻量级容器运行时程序。CRI-O 是第一个与 Kubernetes CRI 兼容的容器运行时,由 Google、Red Hat、英特尔、SUSE 和 IBM 联合开发。


几年前,Docker 很受欢迎。要大规模运行容器,你需要一个编排程序。到 2017 年底,Kubernetes 已成为最受欢迎的容器编排器。


当然,你可以在 Kubernetes 之下用 Docker 运行容器。实际上,Docker 仍然是 Kubernetes 的默认容器运行时。但轻量级的 CRI-O 运行时可以更好地通过 API 与 Kubernetes 一起使用。


CRI-O 有如下功能:


  • 存储github.com/containers/storage 库用于管理层并为 pod 中的容器创建根文件系统:实现 OverlayFS,devicemapper,AUFS 和 btrfs,OverlayFS 作为默认驱动程序。

  • 容器镜像github.com/containers/image 库用于从注册表中提取图像。 目前,它支持 Docker schema 2 /版本 1 以及 schema 2 /版本 2。它还通过了所有的 Docker 和 Kubernetes 测试。

  • 网络:容器网络接口(CNI)用于为容器设置网络。各种 CNI 插件如 Flannel,Weave,Cilium 和 OpenShift-SDN 已经经过了 CRI-O 的测试,并且能按预期工作。

  • 监控github.com/containers/conmon 是 CRI-O 中的一个实用程序,用于监控容器,处理来自容器进程的日志记录,为附加客户端提供服务以及检测和报告内存不足的情况。

  • 安全:容器安全分离策略由一系列工具提供,包括 SELinux,Capabilities,seccomp 和 OCI 规范中指定的其他安全分离策略。


CRI-O 已经非常受欢迎了。Kubernetes 联合创始人 Brendan Burns 表示,部分原因是因为 CRI-O 的创始负责人不是在重复造轮子,而是使用共享组件,在生产中测试后改进的方法,以及现有的经过实战检验的代码。因为 CRI- O 是专为 Kubernetes 量身定制的,它针对性能,稳定性,兼容性和其他标准,特别是 Kubernetes 一致性测试,进行了调整。CRI-O 是 Kubernetes 集群的构建块,可以根据需要促进容器的生命周期。


这是否意味着 CRI-O 将取代 Docker? 是的,但也不是。


正如 Red Hat 高级工程师和 CRI-O 维护者 Antonio Murdaca 所解释的那样,“CRI-O 是否会取代 Docker?并不会,或者说,它是一个以 Kubernetes 为中心的运行时,因此它在 Kubernetes 的背景下取代了 Docker。但是 Docker 作为我们习惯的开发工具,CRI-O 是没有办法取代的,因为它没有实现 Docker Engine API 或 Docker CLI。这意味着你不能使用 Docker CLI 与 CRI-O 守护进程通信。你必须经过 Kubernetes 才能实现通信。“


CRI-O 仍然会给 Docker 带来竞争。正如 CNCF 首席技术官 Chris Aniszczyk 所写,“CNCF 拥有各种容器运行时,我们很高兴 CRI-O 加入它们进行孵化。选择和竞争将使最终用户受益。”


2019-04-10 17:164526
用户头像
张婵 InfoQ 技术编辑

发布了 87 篇内容, 共 52.9 次阅读, 收获喜欢 218 次。

关注

评论

发布
暂无评论
发现更多内容

服务网格中 sidecar 流量治理与多协议嗅探

博文视点Broadview

【LeetCode】最长的斐波那契子序列的长度Java题解

Albert

LeetCode 7月月更

泛云桌面关键技术分析

A池伟

云桌面 算力网络

软件研发效能需求价值流分析专题

思码逸研发效能

研发效能 软件研发

想要白嫖正则是吧?这一次给你个够!

掘金安东尼

前端 正则 7月月更

一图看懂:国企数字化转型4个方向3个战略

融云 RongCloud

企业数字化

Python基础详解(二)

五分钟学大数据

Python 7月月更

Spring Boot Event 观察者模式,轻松带你实现业务解耦

了不起的程序猿

Java java程序员 spring event

CRMEB Pro v1.4,让用户体验更出彩!

CRMEB

JAVA编程规范之集合处理

源字节1号

软件开发 后端开发

web前端培训如何使用CSS自定义属性实现骨架屏

@零度

CSS 前端开发

【招募】2022向光奖|年度ESG影响力投资奖正式启动!

创业邦

对接企业微信,客户关系管理也可以很简单!

CRMEB

蛋糕可以一刀切,研发需求可以吗? | 敏捷实践

LigaAI

程序员 敏捷 产品经理 需求分析 敏捷管理

技术分享| HTTP 代理

anyRTC开发者

https 音视频 网络协议 HTTP

Python 入门指南之交互式输入行编辑历史回溯

海拥(haiyong.site)

Python 7月月更

Android/Unity大乱斗-完整双方集成交互指南

芝麻粒儿

android Unity 7月月更

【C语言】进阶指针night

謓泽

7月月更

有证书有目录!|海泰密码服务平台

电子信息发烧客

微信内H5页面唤起小程序&App

南城FE

前端 微信开发 7月月更

DBPack 读写分离功能发布公告

峨嵋闲散人

分布式事务 分库分表 读写分离 dbmesh Database Mesh

龙蜥社区招募推广大使&体验官啦!| 人人都可以参与开源

OpenAnolis小助手

开源 龙蜥社区 社区建设 官网 体验官

浅谈 Slack Channel 支持的一些提高工作效率的特性

汪子熙

远程办公 即时通讯 SAP Slack 7月月更

python 中Mixin混入类的用法

杨彦星

Python

许式伟:Go+ 演进之路

七牛云

golang 编程语言 go+

手机怎样控制led显示屏发视频?

Dylan

ipad 手机 wifi LED LED显示屏

【福利活动】给你的代码叠个 Buff!点击“茶”收好礼

亚马逊云科技 (Amazon Web Services)

Lambda Code

SpringBoot自动装配原理

急需上岸的小谢

7月月更

Room:又要写业务代码了?看看我吧,给你飞一般的感觉!

编程的平行世界

数据库 Android; android jetpack

RocketMQ系列一:入门级使用演示

hum建应用专家

云计算 RocketMQ

爱奇艺加入龙蜥社区,携手打造多元化视频生态底座

OpenAnolis小助手

开源 爱奇艺 龙蜥社区 CLA 社区建设

CRI-O进入CNCF孵化阶段,或将挑战Docker在容器界的地位_云原生_张婵_InfoQ精选文章