新型沙箱容器运行时环境 gVisor

Apache
Google Go
跨平台
Google
2018-05-03
周其

gVisor 是一款新型沙箱解决方案,其能够为容器提供安全的隔离措施,同时继续保持远优于虚拟机的轻量化特性。gVisor能够与Docker及Kubernetes实现集成,从而在生产环境中更轻松地建立起沙箱化容器系统。

gVisor能够在保证轻量化优势的同时,提供与虚拟机类似的隔离效果。gVisor的核心为一套运行非特权普通进程的内核,且支持大多数Linux系统调用。该内核使用Go编写,这主要是考虑到Go语言拥有良好的内存管理机制与类型安全性。与在虚拟机当中一样,gVisor沙箱中运行的应用程序也将获得自己的内核与一组虚拟设备——这一点与主机及其它沙箱方案有所区别。


gVisor通过在用户空间内拦截应用程序系统调用并充当访客内核,gVisor能够提供强大的隔离边界。而与需要一组固定资源的虚拟机不同,gVisor能够随时适应不断变化的资源条件,这一点更像是普通Linux进程。gVisor很像是一种超虚拟化操作系统,其与完整虚拟机相比拥有更灵活的资源利用方式与更低的固定成本,但这种灵活性的代价是其系统调用成本更高且应用程序兼容性略差。

gVisor运行时能够与Docker及Kubernetes实现无缝化集成,这一集成效果通过匹配OCI运行时API的runsc(即‘run Sandboxed Container’的缩写)实现。

runsc运行时可与Docker的默认容器运行时runc进行互换。其安装非常简单; 在安装完成后,只需要一个额外标记即可在Docker内运行沙箱化容器:

$ docker run --runtime=runsc hello-world
$ docker run --runtime=runsc -p 3306:3306 mysql

在Kubenetes当中,大多数资源隔离在pod层面实现,而这意味着pod能够天然充当gVisor的沙箱边界。Kubernetes社区目前正在对沙箱pod API进行标准化调整,但目前已经开放实验性支持供用户体验。

runsc运行时能够在Kubernetes集群当中通过cri-o或cri-containerd等项目运行沙箱化pod——此类项目负责将Kubelet中的消息转换为OCI运行时命令。

gVisor能够实现大部分Linux系统API(总计200项系统调用与计数),但仍有一部分无法支持。部分系统调用与参数目前尚无法使用,/proc与/sys文件系统中的某些特定部分同样如此。因此,还有少数应用程序不能在gVisor当中运行。但除此之外,包括Node.js、Java 8、MySQL、Jenkins、Apache、Redis以及MongoDB等在内的大多数应用程序皆可顺利运作。

的码云指数为
超过 的项目
加载中

评论(2)

在下王元鹅
在下王元鹅
看起老很不错的样子
Eriloan
Eriloan
这个一定要试试。

暂无资讯

暂无问答

谷歌黑科技:gVisor轻量级容器运行时沙箱

谷歌发布了一种新型沙箱gVisor,可以用于为资源占用较少、不需要运行完整VM的容器提供安全隔离。gVisor的核心是一个使用Go编写的开源用户空间内核,与现有的容器技术相比,其设计做了不同的权...

2018/05/30 12:32
174
0
谷歌黑科技:gVisor轻量级容器运行时沙箱

谷歌发布了一种新型沙箱gVisor,可以用于为资源占用较少、不需要运行完整VM的容器提供安全隔离。gVisor的核心是一个使用Go编写的开源用户空间内核,与现有的容器技术相比,其设计做了不同的权...

2018/05/29 22:31
18
0
谷歌黑科技:gVisor轻量级容器运行时沙箱

谷歌发布了一种新型沙箱gVisor,可以用于为资源占用较少、不需要运行完整VM的容器提供安全隔离。gVisor的核心是一个使用Go编写的开源用户空间内核,与现有的容器技术相比,其设计做了不同的权...

2018/05/29 10:32
41
0
containerd 与安全沙箱的 Kubernetes 初体验

作者 | 易立 阿里云资深技术专家 containerd 是一个开源的行业标准容器运行时,关注于简单、稳定和可移植,同时支持 Linux 和 Windows。 2016 年 12 月 14 日,Docker 公司宣布将 Docker Eng...

2019/11/18 10:50
188
0
containerd与安全沙箱的Kubernetes初体验

containerd是一个开源的行业标准容器运行时,关注于简单、稳定和可移植,同时支持Linux和Windows。2016年12月14日,Docker公司宣布将Docker Engine的核心组件 containerd 捐赠到一个新的开源...

2019/11/05 14:54
94
0
containerd 与安全沙箱的 Kubernetes 初体验

作者 | 易立 阿里云资深技术专家 containerd 是一个开源的行业标准容器运行时,关注于简单、稳定和可移植,同时支持 Linux 和 Windows。 2016 年 12 月 14 日,Docker 公司宣布将 Docker Eng...

2019/11/27 15:58
34
0
Google发布跨云Serverless管理平台Knative

企业只要使用由Google与Pivotal、IBM、红帽和SAP等企业共同开发的跨云Serverless管理平台Knative,就能在支持Kubernetes的云平台上自由的迁移工作负载,无论是跨私有云或是公有云及各种混合云...

2019/05/21 16:19
0
0
「深度小课堂」虚拟化技术入门科普

云计算已经成为了服务器端的潮流,通过它,我们可以有效支持弹性计算、隔离兼容等一系列的需求,计算力可以像水电一样为人们所使用,而虚拟化技术正是云计算中最重要的技术。 虚拟化技术一般...

2019/09/03 11:24
17
0
Google发布跨云Serverless管理平台Knative

企业只要使用由Google与Pivotal、IBM、红帽和SAP等企业共同开发的跨云Serverless管理平台Knative,就能在支持Kubernetes的云平台上自由的迁移工作负载,无论是跨私有云或是公有云及各种混合云...

2019/05/21 11:49
129
0
我为什么飞行 10000 公里去西班牙参加 KubeCon?

2019 年 5 月 20 日至 23 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCon EU(欧洲场)即将在热情洋溢的巴塞罗那盛装启幕。 作为云计算领...

2019/05/23 17:34
128
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部