OpenStack Magnum 项目简介

背景

Magnum 项目是 2014 年 11 月加入 OpenStack 的年轻项目,由 Rackspace主导发起,其定位是提供容器即服务(Container as a Service)的 API 框架,计划在 2015 年 10 月推出的 Liberty 版本时成熟。

我们知道,目前 OpenStack 中 Nova 项目已经通过 nova-docker 的形式支持了 Docker 容器(把容器当虚机管)。但在实际使用中,会发现有不少的问题。毕竟,Nova 设计的初衷是管理虚拟机,而容器跟虚拟机在行为和特性上存在较大的不同,无论是管理层还是底层的虚拟化支持层都完全不同。而且,让 Nova 支持各种各样的容器机制(Docker、OpenVZ、Rocket、LXC 等)要进行修改的地方着实不少,可能跟现有框架形成冲突。

此外,Heat 项目也支持 Docker 官方插件,来直接通过 Docker 的 REST API 来管理容器,并且支持容器的高级特性。然而,不支持资源的调度和网络功能。

社区之所以接收 Magnum 项目,一方面是容器技术现在着实火热,另一方面,也是往更高一层发展提供更好的支持。

设计原理

Magnum 在设计上,希望调用其它的容器管理平台的 API 来实现功能,自身作为一套 API 框架,目前支持 Docker、Kubernetes、Swarm 等。主要优势包括多租户、多后端框架、完善的容器功能、支持资源调度等。

如果说 Nova 是一套支持不同 Hypervisor (KVM、VMWare 等虚拟机平台)的 API 框架,那么 Magnum 则是支持不同容器机制的 API 框架。

基本概念

从小往大的顺序:

  • Node:容器运行的节点,可以是裸机、虚拟机甚至容器。
  • Bay:一组 Node 的集合(底层同一个驱动机制),是 Magnum 中容器调度的基本单元。Bay 在租户之间是隔离的。
  • BayModle:类似于 Nova 中的 flavor,定义一个 Docker 集群的规格。

下面几个是来自 Kubernetes 中的概念。

  • Container:容器。
  • Pod:最小的管理单元,一个或多个相互关联的容器(一般运行相同应用),运行在同一个 Minion Node 上,共享同样的数据挂载和网络空间,代表某种应用的一个实例。
  • Service:由一个或者多个 Pod 组成,代表一个抽象的应用服务,对外呈现为同一个访问接口,这样访问可以通过 service 来路由,而无需具体知道 pod 的地址。
  • ReplicationController:对 pod 指定副本数,RC 可以保证一直存在该数目的副本存在并运行。

主要服务

主要服务有两个,Magnum API 和 Magnum Conductor。

前者提供调用的接口,接收 client 的请求。这些请求最终扔给消息队列,最终被不同的后端机制获取进行执行。

后者则具体负责将 client 的请求转发到具体的后端机制。

转载请注明:http://blog.csdn.net/yeasy/article/details/46331679

时间: 2024-10-11 22:29:36

OpenStack Magnum 项目简介的相关文章

OpenStack Magnum项目简介

1 项目简介 Magnum是OpenStack中一个提供容器集群部署的服务. Magnum是一个Pass层的OpenStack项目. Magnum使用Heat部署一个包含Docker和Kubernetes的操作系统镜像, 让容器集群运行在虚拟机(Virtual Machine)或者裸机(Bare Metal)中. 2 项目发展故事 Magnum项目创建之初,项目目标以Caas为宗旨,即容器即服务. 但在后续的发展过程中,社区更倾向于分离容器的集群部署功能和Docker容器集群的管理功能. 因此M

OpenStack Magnum 项目简单介绍

背景 Magnum 项目是 2014 年 11 月增加 OpenStack 的年轻项目,由 Rackspace主导发起,其定位是提供容器即服务(Container as a Service)的 API 框架,计划在 2015 年 10 月推出的 Liberty 版本号时成熟. 我们知道,眼下 OpenStack 中 Nova 项目已经通过 nova-docker 的形式支持了 Docker 容器(把容器当虚机管).但在实际使用中,会发现有不少的问题.毕竟,Nova 设计的初衷是管理虚拟机,而容器

OpenStack Smaug项目简介

1 项目简介 Smaug是一个OpenStack中提供应用数据保护服务的项目. 2 项目使命 在OpenStack中建立应用数据保护的标准和规范. 保护OpenStack中的任何资源以及资源的依赖项. 提供多样化的解决方案和功能实现给开发者. 3 开发者视角 足够开放的架构设计保障开发者实现不同的OpenStack资源插件,实施保护机制. 4 用户视角 用户指定待保护的OpenStack资源,资源包括虚拟机,卷,网络拓扑等. 用户自定义保护计划. 5 管理员视角 设置哪些插件保护哪些资源,哪些插

Openstack容器项目之Magnum

本文以Newton版本为例. 1.Magnum简介 Magnum项目通过Openstack API能够在Openstack中创建基于容器的服务,但它本身并不直接对容器进行操作,而是通过Kubernetes, Swarm或者Mesos后端进行管理.Openstack正式项目Zun具有直接管理docker的功能. Magnum特征: (1)Clusters(node对象的集合, 以前版本称为Bay)抽象化. (2)与Kubernetes, Swarm以及Mesos进行集成,管理容器. (3)与Key

OpenStack及其构成简介(一)

云计算平台也称为云平台.云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台. 第一部分:OpenStack及其构成简介 一.云计算云计算是一种计算模型,它将诸如运算能力.存储.网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样.因需而定.提供方便.动态改变和无限的虚拟化扩展能力是云计算的几个重要特征.不同的"云"对应着不同的基础设施.下面是三种广义的"云&

OpenStack及其构成简介1

第一部分 OpenStack及其构成简介 一.云计算 云计算是一种计算模型,它将诸如运算能力.存储.网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样.因需而定.提供方便.动态改变和无限的虚拟化扩展能力是云计算的几个重要特征. 不同的“云”对应着不同的基础设施.下面是三种广义的“云”: l 基础设施即服务(IaaS) l 平台即服务(PaaS) l 软件即服务(SaaS) 译者注:Open为开放之意,Stack则是堆砌,OpenStack合起来如其名

Github上优秀的Objective-C项目简介

Github上优秀的Objective-C项目简介 主要对当前Github排名靠前的项目做一个简单的简介,方便自己快速了解 Objective-C的一些优秀的开源框架. 项目名称 项目信息 AFNetworking 作者是 NSHipster 的博主, iOS 开发界的大神级人物, 毕业于卡内基·梅隆大学, 开源了许多牛逼的项目, 这个便是其中之一, AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单,

1.云笔记管理系统--项目简介

#项目简介(云笔记管理系统) ##功能 笔记本管理,笔记管理,回收站管理,分享和收藏管理,活动管理,用户管理等##采用的技术 HTML+Ajax Spring(IOC/AOP/MVC)SpringMVC+Spring(IOC/AOP)+MyBatis MyBatis(访问MySQL数据库) 所有界面采用HTML静态页面所有请求采用Ajax方式交互所有请求返回的JSON结果,统一返回下面结果{"status":状态,"msg":消息,"data":

【转】GitHub 排名前 100 的安卓、iOS项目简介

GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不相关的项目, 所以排名并不具备任何官方效力, 仅供参考学习, 方便初学者快速了解当前一些流行的 Android 开源库. 项目名称 项目简介 1. react-native 这 个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开源框架 Re