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

开源网站开源项目 24-05-21 13:24:56

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内运行沙箱化容器:

$dockerrun--runtime=runschello-world$dockerrun--runtime=runsc-p3306:3306mysql

在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等在内的大多数应用程序皆可顺利运作。

[gVisor 新型沙箱容器运行时环境]相关推荐

Malmo 微软开源 AI 项目平台

微软Malmo项目是一个人工智能系统,用Minecraft World来测试人工智能算法。Malmo项目以前被称为AIX项目,……...

Exposed Kotlin 的轻量级 ORM

Exposed 是 Kotlin 实现的轻量级 ORM,也是 JetBrains 和 Kotlin 官方倾力推荐的 ORM。 该 ORM 十分轻量……...

Crispy 远程调用框架

Crispy 是 Communication per Remote Invocation for different kinds of Services via ProxYs 的缩写。C……...

WSS 项目管理系统

WSS 项目管理系统

WSS(White Shark System)基于PMI®全球项目管理标准,专注于项目管理规范性、易用性、以及视觉效果。 主……...

今日开源
  1. Entangle 单反相机控制小程序

    Entangle 单反相机控制小程序

    Entangle 是一个允许通过计算机控制单反相机拍照的小程序。 提供的功能有: 支持通过 USB 链接并控制尼康、佳能的单反相机。 可以在电脑上启动触发快门动作。 支持实时查看。 自动下载所有拍摄的照片。 可以在电……

    开源软件 2024-06-23

  2. Aseprite 创建动画精灵

    Aseprite 是一个创建动画精灵的程序。让你为电子游戏创建 2D 动画,从精灵、到像素艺术、复古风格的图形,以及任何你喜欢的 8 位和 16 位时代的东西。它的主要特点是: 精灵由作为分离概念的层和帧组成。 支持颜色……

    开源软件 2024-06-23

  3. vsftpd FTP 服务器软件

    vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开……

    开源软件 2024-06-23

返回顶部小火箭