写点什么

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

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

关注

评论

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

轻松理解 Transformers (3): Feed-Forward Layer部分

Baihai IDP

人工智能 深度学习 AI Transformer 白海科技

一起学Elasticsearch系列-核心概念

Java随想录

Java elasticsearch ES

Macos最好用的剪切板管理工具:Paste for Mac 4.1.2中文版

加油,小妞!

Paste中文版 Paste 剪切板管理

探索终端操作系统领域AI大模型创新趋势 OpenHarmony技术大会OS原生智能分论坛召开

科技热闻

大模型训练中的速度与效率优化

百度开发者中心

深度学习 大模型

玩转不同语言的Docker打包方式

Kevin_913

docker build

IT运营与DevOps:有何不同?

SEAL安全

DevOps 企业号11月PK榜 IT运营

北漂五年程序员|腰突颈椎病康复指南

九旬

程序员 前端 后端 健康 北京

Linux操作系统中软件安装

小齐写代码

HashData携手XSKY 助力企业构建数据智能底座

酷克数据HashData

Health Kit申请验证有问题?解决方案全解析

HarmonyOS SDK

HMS Core

利用预训练模型优化大模型训练

百度开发者中心

深度学习 大模型 #人工智能

大模型训练的自动化与弹性管线解决方案

百度开发者中心

大模型 深度学习、 #人工智能

Mac电脑商业数学软件:MATLAB R2023a Mac版 附安装教程 支持M1

彩云

mac数学计算 MATLAB R2023a

理解JavaScript模运算符

南城FE

JavaScript 前端

mac电脑好用的文件夹图标修改器 Folder Factory 中文免激活

胖墩儿不胖y

Mac软件 文件夹图标修改工具 文件夹管理工具

从更新迭代中找寻发展OpenHarmony技术大会编程语言及开发框架分论坛召开

科技热闻

office系列全套办公软件:Office LTSC 2021中文版

加油,小妞!

office办公套件 Mac办公软件

首届OpenHarmony竞赛训练营结营颁奖,75所高校学子助力建设开源生态

科技热闻

大模型训练中的安全风险与防范策略

百度开发者中心

图像识别 大模型 人工智能「

Java 利用JUC CountDownLatch 线程池Executors 实现多线程操作

javaNice

Java 多线程

过去60年145项全球开源系统杰出成果颁布,百度飞桨登榜!

飞桨PaddlePaddle

深度学习 paddle 飞桨

训练的过程是怎样的,大概时间有多长?

矩视智能

深度学习 机器视觉

是时候扔掉你的密码了

权说安全

单点登录

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