写点什么

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

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

关注

评论

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

DBeaverUE 旗舰版 适用于Mac与win的数据库管理软件

Rose

京东零售技术专家亮相多场峰会,诚邀伙伴们共探前沿!

京东零售技术

YashanDB BOX2D类型

YashanDB

数据库 yashandb

京东商品详情API接口:搭建高效电商数据交互桥梁

tbapi

京东商品详情接口 京东API 京东商品详情API

mac平台的二进制反编译软件Hopper Disassembler

Rose

TapData Oracle 日志解析性能全面领先:20秒处理1GB日志,效率提升100% ——释放数据潜能,驱动实时决策

tapdata

实时数据 日志解析 Oracle日志解析 日志解析性能对比 金融实时数据处理

推开双向之门,迎接万象奇境:探秘GPMI

脑极体

AI

SvelteKit 最新中文文档教程(14)—— 错误处理

冴羽

Vue 前端 React Svelte SvelteKit

YashanDB ROWID UROWID类型

YashanDB

数据库 yashandb

《Operating System Concepts》阅读笔记:p490-p490

codists

操作系统

Netty源码—编解码原理(二)

不在线第一只蜗牛

Netty

YashanDB 用户自定义类型

YashanDB

数据库 yashandb

DeepSeek 给 API 网关上了一波热度

阿里巴巴云原生

阿里云 云原生 AI网关

SMART Utility for mac 自动检测磁盘的状态和错误情况

Rose

Hyperliquid 遇袭「拔网线」、Polymarket 遭治理攻击「不作为」,从双平台危机看去中心化治理的进化阵痛

TechubNews

安全 去中心化 web3

从 Copilot 到国产 AI 编程工具:中国开发者需要什么?

飞算JavaAI开发助手

中小企业都能负担得起的组网:SD-WAN方案介绍

Ogcloud

SD-WAN 企业组网 SD-WAN组网 sd-wan专线 SD-WAN厂家

SvelteKit 最新中文文档教程(13)—— Hooks

冴羽

Vue 前端 React Svelte SvelteKit

《Operating System Concepts》阅读笔记:p489-p489

codists

操作系统

Set A Light 3D Studio for Mac(3D摄影棚模拟布光)v2.5.9永久使用版

Rose

职场突围:后端开发者如何靠 AI 工具逆袭高薪?

飞算JavaAI开发助手

免去繁琐的手动埋点,Gin 框架可观测性最佳实践

阿里巴巴云原生

阿里云 云原生 可观测

MCP到底解决了谁的什么问题?

RockBot

开发者 MCP

2025 年 AI 辅助工具精选:免费又好用,轻松提高开发效率

飞算JavaAI开发助手

腾讯云EdgeOnePages上线MCPServer,一句话快速生成并部署HTML页面!

极客天地

LED全彩屏的“大脑”:驱动IC到底在做什么?

Dylan

屏幕亮度 LED LED display LED显示屏 颜色

YashanDB数据类型转换

YashanDB

数据库 yashandb

京东广告创意:高质量创意生成和千人千面的创意推荐 | 京东零售技术实践

京东零售技术

YashanDB ST_GEOMETRY类型

YashanDB

数据库 yashandb

IDEA + 飞算 JavaAI:Java 开发者工作台终极形态

飞算JavaAI开发助手

OgCloud的SD-WAN方案保障企业网络的高可用性

Ogcloud

SD-WAN 企业组网 SD-WAN组网 sd-wan专线 SD-WAN厂家

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