写点什么

rkt 0.8 发布,CoreOS 与 Intel 合作改善容器隔离性

  • 2015-08-27
  • 本文字数:1771 字

    阅读完需:约 6 分钟

因不满于 Docker 的发展路线,CoreOS 在 2014 年 12 年开始了自己的容器计划。 rkt 便是该计划中开放应用容器规范(Application Container Specification,AppC)中的一个具体实现。经过 8 个月的发展,CoreOS 近日公布了rkt 的0.8.0 版本,利用Intel 的 Clear Container 项目,进一步加强了容器的安全性。接下来,本文就分析该版本有哪些新的功能和特性。

作为 Docker 的企业级用户,CoreOS 起初与 Dokcer 一直保持了良好的合作关系,伴随着其从最初的 0.1 版本一直走到了正式发布的 1.0 版本。然而,随着 Docker 的一步步壮大,其臃肿而受单方面控制的容器规范,是作为虚拟机厂商的 CoreOS 所无法忍受的。于是,CoreOS 在去年底公布了自己的容器计划,并在之后开始制定新的开放而中立的应用容器规范——AppC。Rkt 就是作为此规范中的一个具体实现而不断发展的。在半年左右的时间中,CoreOS 共发布了 18 个版本的 rkt。近日,CoreOS 公布了 rkt 的 0.8.0 版本,增加了对用户命名空间的支持和利用 Intel 公司的硬件虚拟化实现了强加的容器隔离等特性。此外,该版本还在宿主机日志集成、容器 socket 激活、镜像缓冲和运行速度等方面进行了改进。

首先,利用硬件虚拟化实现加强型的容器隔离方面。rkt 采用了分段式架构(staged architecture),使得不同阶段可以采用不同的组件。例如,架构中的第二阶段(stage1)负责创建和启动容器。默认情况下,系统会启动基于 cgroups 和命名空间的 rkt。然而,这种方式并不能很好的实现容器中应用程序的隔离。在该版本中,rkt 添加了新的 stage1 选项。这一特性主要得益于 Intel 公司一直进行的 Clear Container 计划。该计划努力利用嵌入硬件的虚拟化技术特性来更好的保证容器运行时的安全和应用程序间的隔离。在 5 月份,Intel 公开宣布实现了利用新的 stage1 的 rkt 中的应用可以与运行在同样物理硬件中的主机内核完全隔离的功能。之后,CoreOS 团队与 Intel 的工程师紧密合作,终于在新版本中实现了该功能。之前,用户利用 systemd-run 启动容器后,再利用systemctl命令查看运行状态可发现:pod 中的进程层次包含了一个 systemd 实例和 etcd 进程。在新版本中,用户通过添加```
–stage1-


image

复制代码
参数启动包含基于 kvm 的 stage1 的容器后,可以发现:此时的进程层次到 lkvm 即结束。这就意味着,包括 systemd 进程和 etcd 进程在内的整个 pod 都是在一个 KVM 进程中执行的。对于宿主系统而言,这个进程就像一个单独的虚拟机进程。这样,容器的隔离性和安全性就可以得到很大提高。
此外,新版本的 rkt 自动与宿主机的日志集成在一起,提供了 systemd 的原生日志管理功能。用户只需要在主机的 journalctl 命令中添加一个像`-M rkt-$UUID`这样的机器符,即可探索 rkt pod 的日志。而且,该版本添加了对用户命名空间的支持来改善容器的隔离。用户通过添加`--private-users``--no-overlay`两个参数,即可打开用户命名空间。其中,前者负责打开用户命名空间特性,而后者负责关闭与用户命名空间不兼容的 rkt 的 olverlayfs 的子系统。通过使用用户命名空间,应用程序可以在容器内以根用户的身份运行,在容器外映射为一个非根用户。通过把容器与宿主机上的根用户隔离,该举措添加了一个额外的安全层。目前,该特性还处于实验阶段。未来,CoreOS 团队会对其进行进一步的完善。
从以上分析可以看出,rkt v0.8.0 在安全方面进行了进一步的加强。CoreOS 团队也表示,rkt 目前还只是 AppC 的实现。未来,他们将努力将其变为 [开放容器计划(Open Container Initiative,OCI)](http://www.opencontainers.org/) 的实现。
- - - - - -
感谢 [郭蕾](http://www.infoq.com/cn/author/%E9%83%AD%E8%95%BE) 对本文的审校。
给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 [editors@cn.infoq.com](mailto:editors@cn.infoq.com)。也欢迎大家通过新浪微博([@InfoQ](http://www.weibo.com/infoqchina),[@丁晓昀](http://weibo.com/u/1451714913)),微信(微信号:[InfoQChina](http://weixin.sogou.com/gzh?openid=oIWsFt0HnZ93MfLi3pW2ggVJFRxY))关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群 [![](https://static001.infoq.cn/resource/image/06/9f/06e1fec4a87eca3142d54d09844c629f.png)](http://shang.qq.com/wpa/qunwpa?idkey=cc82a73d7522f0090aa3cbb6a8f4bdafa8b82177f481014c976a8740d927997a))。
2015-08-27 19:021996
用户头像

发布了 268 篇内容, 共 137.8 次阅读, 收获喜欢 24 次。

关注

评论

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

WAIC 2024盛大召开,天翼云以全栈智算能力赋能AI时代!

天翼云开发者社区

人工智能大会 人工智能生态论坛

Go语言设计模式:使用Option模式简化类的初始化

伤感汤姆布利柏

Java程序员眼中的Rust系列 — 1.初见

Joshua

Java rust

小智常见报表示例--层次坐标--同比报表

小智数据

Sentieon | 应用教程:Sentieon分布模式

INSVAST

基因数据分析 生信服务 分布式数据存储模块 分布模式 Sentieon

OpenAI 曝新项目「草莓」,提升 AI 推理能力;智谱 AI 开源视频理解模型丨 RTE 开发者日报

RTE开发者社区

Web3 游戏周报(7.07-7-13)

Footprint Analytics

链游

软件测试学习笔记丨接口自动化测试框架介绍

测试人

软件测试

软件测试学习笔记丨接口请求体-文件

测试人

软件测试

阿里巴巴中国站1688商品详情API返回值分析:商品数据驱动的竞争对手分析

技术冰糖葫芦

API 安全 API 文档 API 开发 API 协议

上榜!天翼分布式云操作系统入选“科创中国”先导技术榜单!

天翼云开发者社区

云计算 分布式 云服务

软件测试学习笔记丨接口请求头

测试人

软件测试 接口测试 测试开发

性能测试:性能测试计划

霍格沃兹测试开发学社

利用淘宝商品详情API接口,打造智能化电商数据分析平台

技术冰糖葫芦

API 安全 API 文档 API 开发 API 协议

如何保护你的网络安全?

网络安全服务

TCP 服务器 DDoS waf DDoS 攻击

MoneyPrinterPlus全面支持本地Ollama大模型

程序那些事

工具 程序那些事 AIGC

腾讯云首发大数据高性能计算引擎Meson,支持三大产品线性能升级

腾讯云大数据

大数据

前端开发-- Webpack 代码分割和懒加载技术

不在线第一只蜗牛

前端 Web webpack

如何实现一个分布式锁

不在线第一只蜗牛

分布式 WPF

如何基于 Elasticsearch 实现排序沉底或前置

字节跳动云原生计算

elasticsearch ES

rkt 0.8发布,CoreOS与Intel合作改善容器隔离性_语言 & 开发_张天雷_InfoQ精选文章