产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

Kubernetes 提供了另一种容器运行时

  • 2017-05-09
  • 本文字数:1039 字

    阅读完需:约 3 分钟

传统上, Kubernetes 容器运行时是绑定到 Docker 和 rkt 的。但是在过去数月中,这一情况发生了变化。Kubernetes 发布了自己的容器运行时接口(CRI,Container Runtime Interface)API,同时正在完成一个称为 CRI-O 的实现,力图构建 Kubernetes 和 OCI 兼容运行时之间的桥梁。这为 Kubernetes 以标准方式使用任何 OCI 兼容容器运行时铺平了道路。

Kubernetes 依赖于底层的容器运行时实现生命周期控制,例如 Pull、创建、删除等操作。运行时实现为实际的容器,从操作系统层面管理命名空间隔离和资源分配。早期,Docker 和 rkt 是通过非公开的 API紧密集成到Kubernetes 源代码中的。要添加其它的运行时需要修补源代码,这是非常繁琐的,并且稳定性没有保证。为改进这一问题,在Kubernetes 1.5 中以公开发表测试特性的形式引入了CRI。CRI 提供了将容器运行时插入Kubernetes 系统的通用接口,使用户可以运行kubernetes 去编排并扩展他们的非Docker 和非rkt 架构。运行时也可以是 runv 这样的基于容器的 Hypervisor。

开放容器联盟(OCI,Open Container Initiative)是一个为标准化容器格式和运行时而组建的工业界联盟,它发布了容器运行时标准“ runtime-spec ”。当前该标准的实现包括 runc、 HyperHQ 的 runv 以及一种基于 Intel Clear Containers 的实现。CRI-O 项目是由 Project Atomic / RedHat 所启动的,还包括其它来自工业界的贡献者。它使用 OCI 兼容的运行时实现 Kubernetes CRI API,这意味着任何 OCI 兼容的运行时都可以通过 Kubernetes 的 CRI API 插入到 Kubernetes 中,而不必对每个运行时分别实现一个 CRI 适配器。

当前,Kubernetes 的 CRI 具有如下实现:

图片由 http://blog.kubernetes.io/2016/12/container-runtime-interface-cri-in-kubernetes.html 提供。

在 Kubernetes 部署中,Kubelet(在 Kubernetes 中称为 Minion)是在每台主机上的本地代理,与容器运行时进行通信。使用 CRI 后,Kubelet 可以通过 gRPC(一种开源的 RPC 框架)与 CRI 垫片(Shim)通信,其前端调用实际的运行时。Pod 是 Kubernetes 中的最小部署单元,其概念已经扩展为一个具有类似语义的概念,称为 PodSandbox。对于基于 Hypervisor 的运行时,PodSandbox 可理解成一个虚拟机。对于 Docker 等运行时,PodSandbox 可理解为 Linux 命名空间。

查看英文原文: Alternative Container Runtimes in Kubernetes

2017-05-09 19:001726
用户头像

发布了 227 篇内容, 共 74.3 次阅读, 收获喜欢 28 次。

关注

评论

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

GitHub上标星79K的LeetCode算法小抄开放下载了

小小怪下士

程序员 面试 算法 LeetCode

PHP 中命令行调用 escapeshellarg 函数中文问题

ModStart

TDengine 签约航天五院,助力航天事业信息化

TDengine

数据库 tdengine 时序数据库

从实战出发,聊聊缓存数据库一致性

C++后台开发

MySQL 数据库 缓存 中间件 后端开发

POI 中 getPhysicalNumberOfCells 与 getLastCellNum 有什么区别

ModStart

podman如何开启sock使用docker客户端进行管理

ModStart

培训机构与自学的优缺点有哪些

小谷哥

硬实力,高潜力!旺链科技当选“2022德勤中国高科技高成长50强”

旺链科技

区块链 区块链技术

数字图像处理笔记

嵌入式视觉

数字图像处理 几何变换 低通滤波 图像锐化 高通滤波

3700万人在线见证梅西“圆梦”!火山引擎实力护航世界杯

火山引擎边缘云

云计算 云原生 CDN 边缘计算 火山引擎边缘计算

总有一个你能用上的29个IDEA小技巧

风铃架构日知录

Java 程序员 IDEA IT 开发工具

react hook 源码完全解读

flyzz177

React

如何使用 Towify 在小程序中创建关联表?

Towify

时序数据库 TDengine 签约中冶京诚,助力钢铁工业智能化

TDengine

数据库 tdengine 时序数据库

开源共建|旺链科技与FISCO BCOS达成产业应用合作

旺链科技

区块链 开源 区块链技术

ElasticSearch必知必会-基础篇

京东科技开发者

大数据 搜索引擎 数据分析 技术分享 Elastic Search

移动跨端框架最全盘点,16款总有一款适合你

Onegun

flutter 移动开发 跨端框架

葡萄城邀您参与「表格技术开发者新年分享会」,共话表格技术新未来!

葡萄城技术团队

尚硅谷Airflow视频教程发布

小谷哥

react源码中的hooks

flyzz177

React

要避免的自动化实践

FunTester

「极狐GitLab 内容共创计划」强势来袭,丰厚权益等你赢取!

极狐GitLab

DevOps 云原生 写作 #运维 #DevOps

2023年汽车行业向好发展,火山引擎VeDI助力车企数智转型

字节跳动数据平台

数据库 大数据 数据处理

小程序编译原理解析

Onegun

微信小程序 前端

USB端口的ESD防护电路设计

元器件秋姐

经验分享 usb 电路设计 电源电路 ESD防护

react源码中的fiber架构

flyzz177

React

网页抓取中最常用的三大 Python 库

Geek_2d6073

创建好的小程序如何正式发布?

Towify

精准测试之覆盖

京东科技开发者

数据库 测试 代码 覆盖 企业号 1 月 PK 榜

RISC-V SIG 新进展:Chromium 等多个桌面软件登录欧拉开源操作系统

openEuler

firefox Linux 操作系统 openEuler risc-v

Apache APISIX Ingress 1.6 正式发布!

API7.ai 技术团队

APISIX Serverless Kubernetes Ingress Controller

Kubernetes提供了另一种容器运行时_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章