UniK - Unikernel 编译和部署平台


Apache
跨平台
Python

软件简介

UniK(发音 you-neek)是一款可将应用程序源编译成 unikernels(轻量级的可启动磁盘镜像),而不是编译成二进制文件的工具。

UniK 利用一个简单的 docker-like 命令行接口,使得构建 unikernels 像构建 containers 一样容易。

UniK 是为了易于扩展而构建的,允许(且鼓励)为 unikernel 编译器和云计算提供器添加支持。

文档

安装UniK

安装条件:

安装:

$ git clone https://github.com/emc-advanced-dev/unik.git
$ cd unik
$ make
$ _build/unik
Unik is a tool for compiling application source code
into bootable disk images. Unik also runs and manages unikernel
instances across infrastructures.
...

这将把 unik 放置到 unik/_build/unik 执行,通过 ./_build/unik 运行 UniK
命令,或将二进制移动到你路径的某个地方,例如 /usr/local/bin 用于随处使用 unik [command] 运行命令。

从源代码构建 Containers

默认情况下,make 会从 Docker Hub 获取所有必要的 container
镜像,如果你想从源代码构建 Containers,你将需要:

  • Golang v1.5 或更高版本

  • $GOPATH 应设置且 $GOPATH/bin 应成你的 $PATH(见 https://golang.org/doc/code.html#GOPATH)

  • Apache Maven 确认 mvn 和 go 已安装以及你的 $GOPATH 已正确设置,然后只需:

    $ make containers

卸载

unik binary

$ make uninstall

UniK docker containers

$ make remove-containers

支持的 unikernel 类型

rump:UniK 支持将 PythonNode.js
Go 代码编译成
rumprun unikernels

OSv:UniK 支持将 Java 代码编译成 OSv unikernels

IncludeOS:UniK 支持将 C++ 代码 编译成 IncludeOS unikernels