PaaS系统/容器Crane、Atlantis-Docker、SwarmKit、LAIN介绍

以下为你介绍的PaaS系统/容器都可用在Linux系统上:Crane(数人云推出的容器管理工具)、Atlantis-Docker(基于 Docker 的开源 PaaS)、SwarmKit(集群管理和容器编排工具)、LAIN(基于 docker 的 PaaS 系统)。

1、Crane(数人云推出的容器管理工具)

PaaS系统/容器Crane、Atlantis-Docker、SwarmKit、LAIN介绍

Crane 是数人云推出的容器管理工具,它根据 Docker 的原生编排功能,采用轻量化架构,帮助开发者快速搭建 DevOps 环境,体验 Docker 的各种最新功能。

主要功能:

Swarm特性:强调了Swarm的通用功能,通过前端界面友好来增强用户体验。

项目模板管理:用户可以将项目保存为模板,其他人可以直接快速部署模板。

镜像管理:用户的私有镜像可以公开给其他人。

模糊搜索:由后端支持的内存索引服务功能。

主机运维:可以查看主机的各种配置和状态,例如核心版本,docker配置,docker镜像以及给定主机的容器信息等等。

虚拟网络管理:虚拟网络CRUD实现应用网络隔离和独立的网络规划,无缝对接多种overlay网络方案。

私有仓库认证管理:用户可以将认证信息(用户名和密码)存储到Crane,利用认证信息拉取相应仓库的镜像到集群中进行部署。

Webssh:通过“docker exec”命令实现,进入容器内部进行操作。

支持的操作系统:

Ubuntu 12.04服务器、Ubuntu 14.04服务器、CentOS 7.X。

下载地址:https://gitee.com/dataman/crane

2、Atlantis-Docker(基于 Docker 的开源 PaaS)

Atlantis 是一款基于 Docker,使用 Go 编写,为 HTTP 应用准备的开源 PaaS。Atlantis 可以在路由请求中轻松的构建和部署应用到容器。Atlantis 在 Ooyala 的新应用中得到了很广泛的应用。

Atlantis 开源库包括所有的组件,共享数据类型,通用函数。

下载地址:https://github.com/ooyala/atlantis

3、SwarmKit(集群管理和容器编排工具)

SwarmKit是Docker公司开源的Docker集群管理和容器编排工具,其主要功能包括节点发现、基于raft算法的一致性和任务调度等。

基本概念:

服务器上运行SwarmKit工具的swarmd命令后,即可将其加入到服务器集群中,该服务器就成为集群中的一个节点。SwarmKit将节点分为两类:

1]、工作节点负责通过执行器运行任务。SwarmKit的默认执行器为Docker容器执行器(Docker Container Executor)。

2]、管理节点负责接收和响应用户的请求,将集群状态调节成最终状态。

用户可以动态调整节点的角色。

任务被组合成为服务,服务定义了任务类型和任务运行和更新的方式(如任务运行数量、启动间隔等)。

特性:

服务编排:

SwarmKit在服务编排方面的特性主要有:

服务状态一致性:SwarmKit会不断对比服务期望状态和实际状态,发现二者不符时(如服务扩容、节点失效),SwarmKit会自动将服务中的任务调度到其他节点。

服务类型:目前SwarmKit支持两种服务类型。

复制型服务(Replicated Services),针对这类服务SwarmKit会在节点上启动期望数量的副本。

全局服务(Global Services),这类服务SwarmKit会在所有可用几点上启动一个任务。

配置项升级:用户可以在任何时候修改服务的一个或多个配置。当配置被修改后,SwarmKit会协调升级服务中的所有任务,默认的升级策略是批量同时升级。目前支持的升级策略选项有:

并行度:定义并行更新的任务数量。

延迟:设置一组更新完成之后的最小等待时间。当配置升级时,SwarmKit会重启任务,并且等待任务状态为运行中,再等待配置的延迟后,继续执行后续的更新批次。

重启策略:用户可以定制重启的条件、延迟和最大尝试次数。SwarmKit会检测任务状态,并按照这些配置进行重启,同时SwarmKit会决定是否在不同节点启动任务,避免失效节点对服务产生影响。

调度:

SwarmKit在调度功能上功能有:

资源感知:SwarmKit能够感知节点上的资源,并以此分配和执行任务。

资源约束:用户可以通过约束表达式,将任务约束到符合表达式的节点上。对节点的约束条件包括节点ID、名称和标签等。

调度策略:目前SwarmKit实现的调度策略是在满足约束条件的前提下,尽可能的分配到负载最低的节点。

集群管理:

SwarmKit对于集群及其节点的管理支持:

状态存储:SwarmKit在内存中维护集群的状态,并能够在集群状态发生异常时迅速作出调整。

拓扑状态管理:SwarmKit支持通过API或者命令行动态修改节点角色。

节点管理:SwarmKit API支持用户修改节点状态。例如可以将节点状态设置为中止(Paused),以避免在该节点上创建新的任务;或者设置为枯竭(Drained)状态,除了禁止创建新任务外,当前节点上的其他任务也会被调度到其他节点上。

下载地址:https://github.com/docker/swarmkit

4、LAIN(基于 docker 的 PaaS 系统)

Lain 是一个基于 docker 的 PaaS 系统。

其面向技术栈多样寻求高效运维方案的高速发展中的组织,devops 人力缺乏的 startup,个人开发者。

统一高效的开发工作流,降低应用运维复杂度;在 IaaS/私有 IDC 裸机的基础上直接提供应用开发,集成,部署,运维的一揽子解决方案。

设计目标包括但不限于:

降低系统管理复杂度、简化服务的部署管理、优化基础服务的调配、提高资源的使用效率、统一开发测试生产三环境、持续交付工作流的良好支持。

快速开始:

curl -fsSL https://github.com/laincloud/lain/archive/v2.1.1.tar.gz | tar xf -

cd lain-2.1.1

vagrant up

# Config DNS in local shell

sudo bash -c 'echo "192.168.77.201  console.lain.local" >> /etc/hosts'

初始化完成后即可在浏览器访问console:

http://console.lain.local

下载地址:https://github.com/laincloud/lain

注明

以上就是PaaS系统/容器Crane、Atlantis-Docker、SwarmKit、LAIN的介绍内容,这些PaaS系统/容器都能使用在Linux操作系统中。

栏目相关文章