PaaS系统/容器Singularity、LXC(Linux Containers)、Atomic介绍

以下为你介绍的PaaS系统/容器都可用在Linux系统上:Singularity(Linux 应用程序容器)、LXC(Linux 容器工具)、Atomic(运行Docker容器的原型系统)。

1、Singularity(Linux 应用程序容器)

PaaS系统/容器Singularity、LXC(Linux Containers)、Atomic介绍

Singularity 是一个开放源码容器平台,旨在简化、快速和安全。Singularity 是针对 EPC 和 HPC 工作负载进行优化的,允许不受信任的用户以可信的方式运行不受信任的容器。

Singularity 提供了一个单一的通用入口,从开发人员的工作站到本地资源、云以及所有的边缘。

Singularity 用户可以在其桌面上构建应用程序,并在任何公共云上或在计算边缘运行数百或数千个实例,不作任何更改。

特性:

一种安全的、基于单文件的容器格式:SIF(图像格式)是一种基于单个可执行文件的容器映像,具有加密签名、可审计、安全和易于使用现有的数据移动模式进行移动。

对数据密集型工作负载的支持:Singularity 结构的优雅将 HPC 和 AI、深入学习/机器学习和预测分析之间的差距连接起来。

极限机动性:使用标准文件和对象复制工具来传输、共享或分发 Singularity 容器。安装了 Singularity 的任何端点都可以运行容器。

兼容性:为了支持复杂的体系结构和工作流,Singularity 几乎很容易适应任何环境。

单一:如果你使用 Linux,就可以使用 Singularity

安全性:Singularity 通过使用可被加密签名和验证的不可变的单文件容器格式来阻止容器中的权限提升。

用户组:加入知识丰富的社区通过 GitHub,Google Groups,或在 Slack 社区。

企业级特征:利用 SingularityPRO 的容器库、远程生成器和扩展的资源生态系统。

下载地址:https://github.com/sylabs/singularity

2、LXC(Linux 容器工具)

PaaS系统/容器Singularity、LXC(Linux Containers)、Atomic介绍

本文介绍容器工具 Linux Containers(LXC)。

LXC 项目由一个 Linux 内核补丁和一些 userspace 工具组成。这些 userspace 工具使用由补丁增加的内核新特性,提供一套简化的工具来维护容器。

容器可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。

容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与虚拟化相比,这样既不需要指令级模拟,也不需要即时编译。容器可以在核心 CPU 本地运行指令,而不需要任何专门的解释机制。此外,也避免了准虚拟化(paravirtualization)和系统调用替换中的复杂性。

通过提供一种创建和进入容器的方式,操作系统让应用程序就像在独立的机器上运行一样,但又能共享很多底层的资源。例如,可以有效地共享公共文件(比如 glibc)的页缓存,因为所有容器都使用相同的内核,而且所有容器还常常共享相同的 libc 库(取决于容器配置)。这种共享常常可以扩展到目录中其他不需要写入内容的文件。

容器在提供隔离的同时,还通过共享这些资源节省开销,这意味着容器比真正的虚拟化的开销要小得多。

容器技术早就出现。例如,Solaris Zones 和 BSD jails 就是非 Linux 操作系统上的容器。用于 Linux 的容器技术也有丰富的遗产,例如 Linux-Vserver、OpenVZ 和 FreeVPS。虽然这些技术都已经成熟,但是这些解决方案还没有将它们的容器支持集成到主流 Linux 内核。

下载地址:https://linuxcontainers.org/

3、Atomic(运行Docker容器的原型系统)

PaaS系统/容器Singularity、LXC(Linux Containers)、Atomic介绍

Atomic是一个基于Fedora的用于运行Docker容器的原型系统,它从Fedora(在将来可能会是从另一个发行版)获取软件包,并扮演了一个“操作系统二进制文件的Git”的角色,允许对不同集合的软件包进行操作安装,并在它们之间进行原子的整体切换。因为Atomic项目与它的上游的Red Hat产品几乎承载着一样的二进制文件和内核,所以它同样会从上游的工程工作和支持中受益,这成为了它发展过程中的一项绝对优势。Atomic项目不断的在开发中。

atomic运行:

例如,如果您构建了一个需要SYS_TIME功能的“ntpd”容器应用程序,则可以使用以下命令将元数据添加到您的容器映像中:

LABEL RUN /usr/bin/docker run -d --cap-add=SYS_TIME ntpd

现在,如果您执行了atomic run ntpd,它将从容器映像中读取LABEL RUN json元数据并执行此命令。

下载地址:https://github.com/projectatomic/atomic

注明

以上就是PaaS系统/容器Singularity、LXC(Linux Containers)、Atomic的介绍内容,这些PaaS系统/容器都能使用在Linux操作系统中。

栏目相关文章