背景

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 来路由,而无需具体知道 Pods 的地址。
  • ReplicationController:对 pod 指定副本数,RC 可以保证一直存在该数目的副本存在并运行。

主要服务

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

前者提供调用的接口,接收 python-magnumclient 的请求。可以同时运行一个或者多个实例。这些请求最终扔给 AMQP 消息队列,发送到 magnum-conductor 服务。

后者运行在控制节点上,具体负责将 client 的请求转发到具体的后端机制(Kubernetes API 或者 Docker API),目前限制只能存在一个实例。

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

OpenStack Magnum 项目简介相关推荐

  1. OpenStack Magnum项目简介

    1 项目简介 Magnum是OpenStack中一个提供容器集群部署的服务. Magnum是一个Pass层的OpenStack项目. Magnum使用Heat部署一个包含Docker和Kubernet ...

  2. OpenStack Magnum 项目简单介绍

    背景 Magnum 项目是 2014 年 11 月增加 OpenStack 的年轻项目,由 Rackspace主导发起,其定位是提供容器即服务(Container as a Service)的 API ...

  3. 技术分享:OpenStack Magnum社区及项目介绍

    今天主要跟大家简单介绍下Magnum社区和Magnum项目的一些介绍.Magnum到现在为止,功能做的其实不是很多,希望通过这次机会能和大家多多讨论下,看看怎样让Magnum提供更好的容器服务. 1. ...

  4. Openstack容器项目之Magnum

    本文以Newton版本为例. 1.Magnum简介 Magnum项目通过Openstack API能够在Openstack中创建基于容器的服务,但它本身并不直接对容器进行操作,而是通过Kubernet ...

  5. Openstack magnum 简介

    Magnum项目提供了Openstack API帮助管理员能够在Openstack中创建基于容器的服务.当前,Magnums使用  的容器后端是k8s和docker.为了更好的管理容器,Magnum在 ...

  6. [官版翻译ing]OpenStack云计算快速入门之一:OpenStack及其构成简介

    转自:http://blog.chinaunix.net/uid-22414998-id-3263551.html <OpenStack Starter Guide for Ubuntu 12. ...

  7. 谷粒商城学习笔记——第一期:项目简介

    一.项目简介 1. 项目背景 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O B2B 模式(Business to Business),是指商家和商家建立的商业关系.如阿里巴巴 B ...

  8. Interview:算法岗位面试—10.31下午上海某银行总部公司(二面,四大行之一)之项目简介、比赛介绍、某个比赛的过程

    Interview:算法岗位面试-10.31下午上海某银行总部公司(二面,四大行之一)之项目简介.比赛介绍.某个比赛的过程 导读:明天还有事,更多详细内容后期再更新哈 目录 项目简介.比赛介绍.某个比 ...

  9. 大数据 互联网架构阶段 电商项目简介

    电商项目简介 零.目录 电商项目特点 电商项目技术难点 电商项目简介 开发工具 电商项目架构 开发环境 一.电商项目特点 分布式 数十台服务器,甚至百台.千台.万台,包括:Nigix负载均衡集群.To ...

最新文章

  1. 50 行 Python 代码,带你追到最心爱的人
  2. C#对话框-使用打开和保存对话框
  3. Visual Studio 2005常用插件搜罗
  4. iOS tableview性能优化及分析
  5. JAVA中复制数组的方法
  6. java final bigd_【BigData】Java基础_常量
  7. Spring常见的十八中异常Exception
  8. 在python面向对象编程中、属性分为_Python-面向对象编程(1.概述)
  9. 苹果手机夜间模式怎么设置_微信夜间模式终于来了,苹果和安卓都适用!
  10. 比较OpenDDR和WURFL
  11. C语言自增自减运算辨析
  12. php oracle数据库连接池,数据库管理Oracle 连接池信息的修改
  13. Maven 梳理 - Maven中的dependencyManagement 意义
  14. Atitit.播放系统规划新版本 and 最近版本回顾 v3  pbf.doc
  15. 判断m是否为素数c语言程序,c语言判断是否素数程序代码
  16. 乐优商城(02)--商品分类
  17. STM32控制SG90舵机与超声波HC_SR04测距模块
  18. APISpace 万年历API
  19. 编程c语言counter,c语言中计算平均分时,计数器(counter)的初始化
  20. 通过天眼查查询相关企业信息

热门文章

  1. 【R语言】对图片进行裁剪 图片批量裁剪
  2. Mac下QQ缓存账号目录
  3. 前端知识15:webpack打包其他资源之字体图标
  4. 计算机硬盘容量分配,500G的硬盘怎样合理分配容量
  5. 怎么隐藏回收站?3个方法轻松隐藏回收站!
  6. 以太网卡驱动程序移植linux,基于S3C2440的DM9000网卡驱动的移植
  7. Inventor SDK入门---API设置零件材料
  8. 炎炎夏日,谈一谈低功耗云终端的重要性
  9. 支付宝支付开发实践总结-Java-支付宝当面付-支付宝小程序-二维码生成-支付宝退款-APP调起支付宝支付
  10. dota数据集标注改coco标注