Malmo 微软开源 AI 项目平台
微软Malmo项目是一个人工智能系统,用Minecraft World来测试人工智能算法。Malmo项目以前被称为AIX项目,……...
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等在内的大多数应用程序皆可顺利运作。
微软Malmo项目是一个人工智能系统,用Minecraft World来测试人工智能算法。Malmo项目以前被称为AIX项目,……...
Exposed 是 Kotlin 实现的轻量级 ORM,也是 JetBrains 和 Kotlin 官方倾力推荐的 ORM。 该 ORM 十分轻量……...
Crispy 是 Communication per Remote Invocation for different kinds of Services via ProxYs 的缩写。C……...
Lor是一个运行在[OpenResty](http://openresty.org)上的基于Lua编写的Web框架. 路由采用[Sinatra](http:/……...
NebulaGraph 是一款开源的、分布式的、易扩展的原生图数据库,能够承载包含数千亿个点和数万亿条边的超大……...
WSS(White Shark System)基于PMI®全球项目管理标准,专注于项目管理规范性、易用性、以及视觉效果。 主……...
Entangle 是一个允许通过计算机控制单反相机拍照的小程序。 提供的功能有: 支持通过 USB 链接并控制尼康、佳能的单反相机。 可以在电脑上启动触发快门动作。 支持实时查看。 自动下载所有拍摄的照片。 可以在电……
Aseprite 是一个创建动画精灵的程序。让你为电子游戏创建 2D 动画,从精灵、到像素艺术、复古风格的图形,以及任何你喜欢的 8 位和 16 位时代的东西。它的主要特点是: 精灵由作为分离概念的层和帧组成。 支持颜色……
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开……