写点什么

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:002132
用户头像

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

关注

评论

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

青藤入选工信部网安中心“2021年数字技术融合创新应用典型解决方案”

青藤云安全

网络安全 工信部 主机安全

详解kubernetes备份恢复利器 Velero | 深入了解Carina系列第三期

BoCloud博云

Kubernetes 云原生 数据备份

钛星数安加入龙蜥社区,共同打造网络安全生态

OpenAnolis小助手

开源 龙蜥社区 合作 CLA 钛星数安

4个不可不知的“安全左移”的理由

SEAL安全

安全左移 shift left

SAP Marketing Cloud 功能概述(四)

汪子熙

云原生 SaaS SAP 6月月更 Marketing Cloud

leetcode 139. Word Break 单词拆分(中等)

okokabcd

LeetCode 动态规划 算法与数据结构

《梦华录》要大结局了,看超前点映不如先来学学它!

博文视点Broadview

远程办公之:在家露营办公小工具| 社区征文

甜甜的白桃

初夏征文

【直播回顾】战码先锋第七期:三方应用开发者如何为开源做贡献

OpenHarmony开发者

OpenHarmony

保险APP适老化服务评测分析2022第06期

易观分析

保险APP

知识经济时代,教会你做好知识管理

小炮

初识云原生安全:云时代的最佳保障

SEAL安全

云原生安全

敏捷之道 | 敏捷开发真的过时了么?

LigaAI

敏捷 敏捷开发 敏捷软件开发 敏捷宣言 LigaAI

「开源摘星计划之操作系统100人」发布,共建操作系统开源人才生态

腾源会

快手实时数仓保障体系研发实践

Apache Flink

大数据 flink 编程 流计算 实时计算

大数据培训Spark 高频面试考点分享

@零度

spark 大数据开发

在 Django 中呈现 HTML 表单(GET 和 POST)

海拥(haiyong.site)

Python django 6月月更

业务与技术双向结合构建银行数据安全管理体系

易观分析

银行数字化

如何在物联网低代码平台中进行任务管理?

AIRIOT

低代码 物联网

居家办公更要高效-自动化办公完美提升摸鱼时间 | 社区征文

迷彩

Python AI 6月月更 初夏征文 Python自动化办公

融云通信“三板斧”,“砍”到了银行的心坎上

融云 RongCloud

SAP Marketing Cloud 功能概述(三)

汪子熙

SaaS SAP 云应用 6月月更 Marketing Cloud

保健品一物一码防窜货营销软件开发

开源直播系统源码

软件开发 app源码

初中级开发如何有效减少自身的工作量?

百家饭隐私计算平台创业者

开发 书籍推荐

web前端培训怎么修改 node_modules 中的文件

@零度

node.js 前端开发

P2PDB 白皮书

Rock-李益

区块链 去中心化数据库

LRU 原理与算法实现

Ayue、

LRU

AS深圳站来了!参与讨论领取官方限量周边!

InfoQ写作社区官方

热门活动 ArchSummit

龙蜥开发者说:首次触电,原来你是这样的龙蜥社区? | 第 8 期

OpenAnolis小助手

Linux 开源 故事 龙蜥社区 开发者说

一文讲透研发效能!您关心的问题都在 ‍

思码逸研发效能

研发效能

java技术培训在 MySQL 中使用枚举需要注意什么

@零度

JAVA开发 枚举

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