写点什么

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

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

关注

评论

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

微服务的演进之路

卢卡多多

微服务 8月日更

模块五作业:设计微博评论的高性能高可用计算架构

Felix

架构实战营 - 模块 5- 设计微博系统中”微博评论“的高性能高可用计算架构

蔸蔸

在线CSS代码压缩美化工具

入门小站

工具

【设计模式】策略模式

Andy阿辉

C# 后端 设计模式 8月日更

架构实战营模块五作业

老猎人

架构实战营

真的香!Github一夜爆火被各大厂要求直接下架的面试题库也太全了

编程菌

Java 编程 程序员 面试 计算机

阿里架构师花近十年时间整理出来的Java核心知识pdf(Java岗)

编程菌

Java 编程 程序员 面试 计算机

架构实战营作业 M05

Shawn Liu

架构实战营 模块五 作业

脉醉

#架构实战营

Nacos-spring-boot 0.2.10 发布,全面支持 Nacos2.0

阿里巴巴中间件

云计算 开源 云原生 中间件

全靠阿里内部(珠峰版)Java面试笔记,成功拿下12家大厂offer

编程菌

Java 编程 程序员 阿里 计算机

PAI:一站式云原生AI平台

阿里云大数据AI技术

模块五作业

king

【ClickHouse】 核心特性

LeifChen

Clickhouse 8月日更

架构实战训练营第五模块作业

子豪sirius

架构实战营

有了阿里人的并发图册+JDK源码速成笔记,我终于不慌内卷了

编程菌

Java 编程 程序员 面试 计算机

阿里P8整理的《百亿级并发系统设计》实战教程,实在是太香了

编程菌

Java 编程 程序员 阿里 计算机

有同学问我:Fetch 和 Ajax 有什么区别?

编程三昧

JavaScript ajax 大前端 8月日更 Fetch

【架构训练营】模块五作业

zclau

[架构实战营] 模块五作业

xyu

#架构实战营

从零开始的SRC挖掘

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

常见酒店行业术语

IT蜗壳-Tango

8月日更

[架构实战营一期] 模块五作业

trymorewang

架构实战营

模块五作业-微博评论-高性能高可用架构

babos

#架构实战营

”微博评论“的高性能高可用计算架构

feitian

平台利用大数据割韭菜,消费者为何沦为砧板上的鱼肉

石头IT视角

架构训练营 模块五

小卷儿

干货来袭!阿里技术官甩出的内部首推分布式系统开发笔记太顶了

编程菌

Java 编程 程序员 面试 计算机

模块五作业

绝影

架构训练营

MongoDB中间件工具mgm入门介绍(一)

liuzhen007

8月日更

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