Kata Containers创始人:安全容器导论

文章讨论了安全容器的概念,特别是通过KataContainers和gVisor两种技术实现的安全隔离。KataContainers利用轻量级虚拟化提供安全的容器运行时,而gVisor则采用用户态操作系统内核实现进程级隔离。这两种方法旨在解决容器的安全性问题,同时保持接近容器的性能。文章还提到了安全容器的隔离层对于调度、服务质量和数据保护的额外益处。

从2015年5月初开始创业开发 HyperContainer (runV) 到现在,也快五年了,在这个时候还来写一篇什么是安全容器,显得略有尴尬。不过,也正是经过这五年,越来越多到人开始感到,我需要它却说不清它,这个时候来给大家重新解释 “安全容器” 也正是时候。

缘起:安全容器的命名

Phil Karlton 有一句名言——

计算机科学界只有两个真正的难题——缓存失效和命名。

就容器圈而言,我相信命名绝对配得上这句话,这毫无疑问是一件让老开发者沉默,让新人落泪的事情。

仅就系统软件而言,我们当今比较通行地称为 Linux 容器(LinuxContainer)的这个概念,曾经用过的名字大概还有——jail, zone, virtualserver, sandbox… 而同样,在早期的虚拟化技术栈里,也曾经把一个虚拟机环境叫做容器。毕竟这个词本身就指代着那些用来包容、封装和隔离的器物,实在是太过常见。以至于,以严谨著称的 Wikipedia 里,这类技术的词条叫做“系统级虚拟化”,从而回避了“什么是容器”这个问题。

当2013年 Docker 问世之后,容器这个概念伴随着“不可变基础设施”、“云原生”这一系列概念,在随后的几年间,以摧枯拉朽之势颠覆了基于“软件包+配置”的细粒度组合的应用部署困境,用简单地声明式策略+不可变容器就清爽地描述了软件栈。应用怎么部署似乎离题了,我们这里想要强调的是——

云原生语境下的容器,实质是“应用容器”——以标准格式封装的,运行于标准操作系统环境(常常是Linux ABI)上的应用打包——或运行这一应用打包的程序/技术。

这个定义是我在这里写下的,但是它并不是我的个人意志,这是基于 OCI (Open ContainerInitiative) 规范这一共识的,这个规范规定了容器之中的应用将被放置在什么环境中,如何运行,比如启动容器根文件系统上的哪个可执行文件,用什么用户,需要什么样的 CPU、内存资源,有什么外置存储,有什么样的共享需求等等。

有了这一共识做基础,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值