QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

CRI-O:面向 Kubernetes 的开源容器运行时

作者:K Jonas

  • 2019-06-04
  • 本文字数:1239 字

    阅读完需:约 4 分钟

CRI-O:面向 Kubernetes 的开源容器运行时

4 月 8 日,云原生计算基金会(CNCF)的技术监督委员会(Technical Oversight Committee,TOC)投票接受CRI-O 作为孵化级别的托管项目。CRI-O由 Red Hat 创建,是面向 Kubernetes 的开放容器计划(Open Container Initiative,OCI)的容器运行时,提供了DockerrktMoby的替代方案。


CRI-O 是专门针对在 Kubernetes 中运行所设计的,它会交付一个最小化的运行时,该运行时实现了 Kubernetes容器运行时接口(Container Runtime Interface,CRI)的标准组件。早期版本的 Kubernetes 只支持 Docker 运行时的容器。当 Kubernetes 团队决定支持新的运行时(比如 rkt)的时候,他们决定开发并发布 CRI,以便于将 Kubernetes 与特定的容器运行时解耦。


CRI 是一个插件接口,由 protocol buffers 和 gRPC API 组成,它允许 Kubernetes 通过kubelet与任意满足 CRI 接口的容器运行时进行交互。CRI 主要的两个 RPC 是 Image Service 和 Runtime Service,它们分别规定了如何拉取镜像以及管理容器的生命周期。


CRI-O 能够让 Kubernetes 使用任意兼容 OCI 的运行时作为运行 pod 的容器运行时。因为只关注在 Kubernetes 中运行容器,所以项目的范围仅限于:


  • 支持多种镜像格式,包括现有的 Docker 镜像格式;

  • 支持多种方式下载镜像,包括信任和镜像验证;

  • 容器镜像管理(管理镜像层、覆盖文件系统等);

  • 容器进程的生命周期管理;

  • 满足 CRI 所需的监控和日志记录;

  • CRI 所需的资源隔离。


CRI-O 运行时利用了开放容器计划(Open Container Initiative),该计划提供了容器配置、文件系统以及执行环境的规范,另外还有镜像配置、文件系统、索引和清单(manifest)的规范。为了管理容器镜像和存储,CRI-O 使用了开源Containers项目containers/imagecontainers/storage,其中包括多个容器工具。这两个容器库用于从镜像注册表中拉取镜像,并将镜像内容存储在容器文件系统中。


CRI-O 网络是通过容器网络接口(Container Networking Interface)实现的,该接口是CNCF的另外一个项目,它提供了在 Linux 容器中配置网络接口的规范和库。容器会被一个内部工具cronmon所监控,它会收集容器日志并记录退出时的编码。



按照CRI-O项目的说法,CRI-O 的主要好处是 Kubernetes 生态系统的稳定性,并承诺通过 Kubernetes 的测试。 CRI-O 为每个 Kubernetes 发布版本均开发了分支,并与 Kubernetes 的版本发布和废弃周期保持一致。CRI-O 代码库包含针对 Kubernetes 的端到端测试,该测试在每次 pull request 时都会运行,并且必须通过才能接受 PR。


CRI-O 在 2016 年开始开发,在 Kubernetes 项目引入 CRI 之后,在 2017 年发布了 CRI-O 1.0。目前,CRI-O 支持将runcKata容器作为容器运行时,任何兼容 OCI 的运行时都是可接入的。CRI-O 支持 OCI 容器映像,可以从任何容器注册表中拉取。它的核心贡献者包括 RedHat、Intel、SUSE、Hyper 和 IBM。


关于如何开始使用 CRI-O 和如何进行贡献的更多信息可以参考Github上的CRI-O项目


查看英文原文CRI-O: An Open Source Container Runtime for Kubernetes


2019-06-04 08:0010302

评论

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

报名参加通义灵码高校训练营,领 300 元阿里云产品通用抵扣金

阿里云云效

阿里云 云原生

多环境镜像晋级/复用最佳实践

阿里巴巴云原生

阿里云 云原生 云效

Postman 集合变量使用详解

霍格沃兹测试开发学社

MQTTX 1.10.0 发布:CLI高级文件管理与配置

EMQ映云科技

mqtt mqttx

火山引擎×OPPO,以多样化AI智能体为手机用户带来全新体验

新消费日报

解决 JMeter 返回内容中文乱码问题的详细指南

霍格沃兹测试开发学社

2024-06-19:用go语言,给定一个起始下标为 0 的整数数组 nums 和一个整数 k, 可以执行一个操作将相邻两个元素按位AND后替换为结果。 要求在最多执行 k 次操作的情况下, 计算数组

福大大架构师每日一题

福大大架构师每日一题

数仓安全:数据脱敏技术深度解析

快乐非自愿限量之名

数据库 数仓安全

Altair 助力优化摩托车空气动力学性能,实现最佳的整流罩设计

Altair RapidMiner

人工智能 仿真 AIGC altair

使用 Apache JMeter Flexible File Writer 插件的详细指南

霍格沃兹测试开发学社

使用 Apache JMeter 吞吐量控制器的详细指南

霍格沃兹测试开发学社

快速掌握 WinRAR:详细安装与使用指南

霍格沃兹测试开发学社

利用JAVA语言调用GLM-4接口实战指南

幂简集成

Java API 大模型

报名参加通义灵码高校训练营,领 300 元阿里云产品通用抵扣金

阿里巴巴云原生

阿里云 云原生 通义灵码

英伟达成全球市值第一公司;苹果暂停下一代高端头显研发丨 RTE 开发者日报 Vol.227

声网

数据虚拟化和 Data Fabric(数据编织)对企业数据管理意味着什么?

Aloudata

数据管理 数据孤岛 数据虚拟化 Data Fabric 数据编织

使用Python获取HTTP请求头数据

霍格沃兹测试开发学社

解决华为NEXT应用开发中模拟器组件缺失问题

彭康佳

鸿蒙 an'droid

VMware vCenter Server 7.0U3r 下载 - 修复堆溢出 (远程执行代码) 和本地权限提升漏洞

sysin

vSphere vcenter esxi

网络调试利器:Chrome Network工具的详细指南

霍格沃兹测试开发学社

破除“数据孤岛”新策略:Data Fabric(数据编织)和逻辑数据平台

Aloudata

数据管理 数据孤岛 数据虚拟化 Data Fabric 数据编织

使用 Apache JMeter 调度器的详细指南

霍格沃兹测试开发学社

使用 Apache JMeter 事务控制器的详细指南

霍格沃兹测试开发学社

华为阅读亮相BIBF:以AI赋能出版行业,引领阅读新业态

最新动态

VMware vCenter Server 8.0U1e 下载 - 修复堆溢出 (远程执行代码) 和本地权限提升漏洞

sysin

vSphere vcenter esxi

VMware vCenter Server 8.0U2d 下载 - 修复堆溢出 (远程执行代码) 和本地权限提升漏洞

sysin

vSphere vmware vcenter esxi

从钉钉到跨境电商技术演变,HHO通过NineData实现全球化业务布局

NineData

数据安全 数据管理 NineData 两氢一氧 本地机房

深入分析四层/七层网关

不在线第一只蜗牛

网关

Exploring IPQ9574 and IPQ5332: Innovations in Wi-Fi 7 Technology

wallyslilly

ipq9574

手写一个简单的DI类库

爱吃小舅的鱼

软件设计 DI类库

使用Python获取HTTP请求头数据

霍格沃兹测试开发学社

CRI-O:面向 Kubernetes 的开源容器运行时_软件工程_InfoQ精选文章