【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:009915

评论

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

Docker | 镜像浅析,以及制作自己的镜像

甜点cc

Docker tomcat 10月月更

“程”风破浪的开发者|THREE.JS实现看房自由(VR看房)

知心宝贝

前端 three.js 元宇宙 VR看房 “程”风破浪的开发者

企业信息安全受威胁?且看华为云灾备如何破解

科技之光

华为云灾备解决方案,助力企业高效构建安全合规云灾备系统

科技之光

2022年10月《中国数据库行业分析报告》重磅发布!精彩抢先看

墨天轮

数据库 oceanbase Milvus 向量计算 向量数据库

十年磨一剑,华为云数据灾备解决方案为你解决后顾之忧

科技之光

千万级高并发秒杀系统设计套路!超详细解读~~

博文视点Broadview

华为云,中小型企业的等保安全专家

科技之光

全球累计用户达300万+,华为云桌面综合体验优秀!

科技之光

深度解决企业传统办公痛点,华为云桌面使能云上办公!

科技之光

koa实战

coder2028

node.js

数据中台的前世今生(一):数据仓库——数据应用需求的涌现

雨果

数据中台 数据仓库

【文本检测与识别白皮书】第三章-第三节:算法模型

合合技术团队

人工智能 深度学习 文字识别 文本

为了讲明白继承和super、this关键字,群主发了20块钱群红包

华为云开发者联盟

开发 华为云 企业号十月 PK 榜 发红包

“程”风破浪的开发者|什么是web3.0,一文带你搞懂它

共饮一杯无

前沿技术 Web3.0 10月月更 “程”风破浪的开发者

Java中的抽象类详解

共饮一杯无

Java 抽象类 10月月更

零信任时代安全沙箱成为企业应用必需品

FinClip

TiCDC 实践:TiDB 到 TiDB 增量数据迁移

TiDB 社区干货传送门

迁移

打造全栈安全防护体系,华为云等保合规解决方案帮企业30天过等保

科技之光

华为云,助力企业快速省心过等保

科技之光

华为云CDN使能千行百业,业务价值不断凸显!

科技之光

Rocksdb dynamic-level-bytes测试简单记录

TiDB 社区干货传送门

实践案例 管理与运维

OpenHarmony轻量系统中内核资源主要管理方式

OpenHarmony开发者

OpenHarmony

华为云,高品质保障企业的等保安全

科技之光

Docker | 部署nginx服务

甜点cc

nginx Docker 10月月更

git-secret:在 Git 存储库中加密和存储密钥(下)

SEAL安全

git 加密 makefile 密钥管理 10月月更

华为云灾备服务,如何守护云上数据

科技之光

一大波开发者岗位来袭!多家公链、投资机构抛出橄榄枝

TinTinLand

开发者 招聘 程序员、 互联网行业薪资 区块链、

多版本并行,测试如何做好质量保障?

老张

质量保障 版本迭代

新来个技术总监,仅花2小时,撸出一个多线程永动任务,看完直接跪了,真牛逼!

小小怪下士

Java 程序员 多线程

TiDB v6.1.0 及 TiUniManager 在 openEuler 22.03 中的部署踩坑实践

TiDB 社区干货传送门

实践案例 管理与运维 安装 & 部署 应用适配 6.x 实践

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