1 项目简介

  Magnum是OpenStack中一个提供容器集群部署的服务。

  Magnum是一个Pass层的OpenStack项目。

  Magnum使用Heat部署一个包含Docker和Kubernetes的操作系统镜像,

  让容器集群运行在虚拟机(Virtual Machine)或者裸机(Bare Metal)中。

2 项目发展故事

  Magnum项目创建之初,项目目标以Caas为宗旨,即容器即服务。

  但在后续的发展过程中,社区更倾向于分离容器的集群部署功能和Docker容器集群的管理功能。

  因此Magnum重新修改了项目目标,Magnum本身专注于容器的集群部署功能。

  另一个正在孵化中的项目Zun专注管理Docker容器集群。

3 项目组成

  Magnum 由三个代码库组成:

  Magnum: http://git.openstack.org/cgit/openstack/magnum

  Python-magnumclient: http://git.openstack.org/cgit/openstack/python-magnumclient

  Magnum-ui: http://git.openstack.org/cgit/openstack/magnum-ui

  Magnum主要提供两个服务:Magnum APIMagnum Conductor

  Python-magnumclient封装Magnum Rest API向外提供Magnum的接口调用,同时提供CLI功能。

  Magnum-ui提供一个Horizon的插件,使用Django和AngularJS实现Magnum的界面操作。

4 项目概念

  Container:Docker容器。

  Node:容器运行的节点,可以是裸机、虚拟机甚至容器。

  Bay:运行容器的一组node的集合,是Magnum中容器调度的基本单元。

  BayModel:用来存储Bay的模板的对象,类似于Nova中的flavor。

  Pods:运行在同一个Node上一组容器集合,这是Kubernetes中的一个概念。

  Service:由一个或者多个 Pod 组成,代表一个抽象的应用服务,对外呈现为同一个访问接口,

这样访问可以通过 service 来路由,而无需具体知道 Pods 的地址。

  ReplicationController:简称RC,RC 对 pod 指定副本数,可以保证一直存在该数目的副本存在并运行。

5 项目架构

  Magnum自身作为一套 API 框架,本身调用其它的容器管理平台的 API 来实现功能,

  目前支持的后端包括 Kubernetes、Swarm和Mesos。

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

  Magnum API提供资源的Rest接口。

  Magnum Conductor是整个项目的核心,首先通过Heat部署虚拟机实例或者裸机实例上,

  然后通过Cloud init在虚拟机实例或者裸机实例上,调用Kubernetes、Swarm或者Mesos部署容器集群。

6 DevStack部署

  下载DevStack,并在DevStack目录下添加local.conf,文件内容如下:

[[local|localrc]]
DATABASE_PASSWORD=password
RABBIT_PASSWORD=password
SERVICE_TOKEN=password
SERVICE_PASSWORD=password
ADMIN_PASSWORD=password
# magnum requires the following to be set correctly
PUBLIC_INTERFACE=eth0
enable_plugin magnum https://git.openstack.org/openstack/magnum
# Enable barbican service and use it to store TLS certificates
# For details http://docs.openstack.org/developer/magnum/dev/dev-tls.html
enable_plugin barbican https://git.openstack.org/openstack/barbican
VOLUME_BACKING_FILE_SIZE=20G

  执行./stack.sh即可完成Magnum服务的安装。

7 项目交流

  IRC Channel:    #openstack-containers on freenode

  Weekly Meetings:  北京时间每周三的00:00 #openstack-meeting-alt

编者注:本文来自OpenStack开源团队工程师向新勇

OpenStack Magnum项目简介的更多相关文章

  1. OpenStack Magnum 项目简单介绍

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

  2. OpenStack Smaug项目简介

    1 项目简介 Smaug是一个OpenStack中提供应用数据保护服务的项目. 2 项目使命 在OpenStack中建立应用数据保护的标准和规范. 保护OpenStack中的任何资源以及资源的依赖项. ...

  3. Openstack容器项目之Magnum

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

  4. OpenStack云计算快速入门之一:OpenStack及其构成简介

    原文:http://blog.chinaunix.net/uid-22414998-id-3263551.html OpenStack云计算快速入门(1) 该教程基于Ubuntu12.04版,它将帮助 ...

  5. OpenStack及其构成简介1

    第一部分 OpenStack及其构成简介 一.云计算   云计算是一种计算模型,它将诸如运算能力.存储.网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样 ...

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

    GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不 ...

  7. 2016年GitHub 排名前 100 的安卓、iOS项目简介(收藏)

    排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不相关的项目, 所以排名并不具备任何官方效力, 仅供参考学习, 方便初学者 ...

  8. 64.GitHub 排名前100的android项目简介

    GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不 ...

  9. Android小项目练习之一 项目简介

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

随机推荐

  1. 单链表(python)

    # -*- coding: utf-8 -*- class Node(object): def __init__(self, value=None, next=None): # 这里我们 root 节 ...

  2. python中is与==的区别,编码和解码

    在介绍is与==的区别前,我们先来了解一些新的知识:内存地址.小数据池. 1.内存地址(is 比较的就是内存地址) 获取内存地址的方法:id() a = "str" 2.小数据池 ...

  3. JDBC课程2--实现Statement(用于执行SQL语句)--使用自定义的JDBCTools的工具类静态方法,包括insert/update/delete三合一

    /**JDBC课程2--实现Statement(用于执行SQL语句) * 1.Statement :用于执行SQL语句的对象: * 1): 通过Connection 的createStatement( ...

  4. linux 防火墙 firewall 设置

    背景: 机房断电后导致机器关机重启,原先访问的地址访问不了,使用终端能访问到该服务器,服务启起来后,用curl + 地址能访问,但在外部浏览器访问不了该地址: 首先想到了端口限制----防火墙 参考博 ...

  5. HDU-1573-X问题(线性同余方程组)

    链接: https://vjudge.net/problem/HDU-1573 题意: 求在小于等于N的正整数中有多少个X满足:X mod a[0] = b[0], X mod a[1] = b[1] ...

  6. pip 安装包 不行 自己下载whl 包自己安装

    https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

  7. CGI FastCGI php-FPM 分别是什么

    1.CGI协议用于php解析器跟webserver之间的通信(效率低,浪费资源) 2.FastCGI 可以一次性处理多个进程,是CGI的改良版本 3.php-FPM 是FastCGI 的进程管理器(产 ...

  8. 008——MATLAB-xlswrite的使用方法

    (一)参考文献:https://blog.csdn.net/liangjiubujiu/article/details/80455753 以矩阵A=[1 2 3 4;5 6 7 8]为例进行介绍 例1 ...

  9. Apache的安装和配置

    一.官网下载Apache 官网地址:https://httpd.apache.org/ 点击Download--->点击Files for Microsoft Windows--->点击A ...

  10. linux系列(十四):head命令

    1.命令格式: head [参数] [文件] 2.命令功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行. 3.命令参数: -q 隐藏文件名 -v 显示文件名 ...