OpenStack Magnum是如何在DevStack中启动的

什么是magnum?

Mangum现在应该是OpenStack里边比较热门的一个和Docker集成的新项目。Magnum是去年巴黎峰会后开始的一个新的专门针对Container的一个新项目,用来向用户提供容器服务。从去年11月份开始在stackforge提交第一个patch,今年3月份进入OpenStack namespace,这个项目应该是OpenStack社区从stackforge迁移到OpenStack namespace最快的一个项目。Magnum现在可以为用户提供Kubernetes as a Service、Swarm as a Service和这几个平台集成的主要目的是能让用户可以很方便的通过OpenStack云平台来管理k8s,swarm,这些已经很成型的Docker集群管理系统,使用户很方便的使用这些容器管理系统来提供容器服务。

使用devstack安装magnum

magnum依赖于nova,glance,heat,barbican,neutron这些组件来模拟一个物理的环境,在裸机上部署magnum社区还在开发中,推荐使用Ubuntu14.04(Trusty)和Fedora 20/21

首先 Clone devstack

配置devstack,enable heat和neutron

创建local.sh,使的magnum能够使用devstack创建的网络

运行devstack

source环境变量

把Fedora Atomic micro-OS存在glance中

创建keypair来使用baymodel

为magnum创建MySql数据库

安装magnum

配置magnum

安装magnum客户端

为magnum配置数据库

配置keystone的endpoint

启动magnum

Magnum关于DevStack启动的代码解读

├── devstack
│   ├── lib
│   │   └── magnum
│   ├── plugin.sh
│   ├── README.rst
│   ├── settings
magnum中定义了magnum所创建文件的路径以及git镜像时的路径

定义好路径之后就创建各种配置文件。并进行检查。如果不存在则创建该文件,并赋予权限

由于magnum的认证需要依赖keystone。那么需要对mysql进行操作。需要创建服务并返回endpoint

然后使用类似于shell的文件写入命令进行配置文件的写入操作

magnum可以选择多个底层OS

安装magnum客户端

启动magnum服务,传递port,protocol,tls等信息。进程直接通信需要tls安全传输层协议

为了满足进程之间通信。还需要对iptables进行配置。对keystone和magnum的通信进行accept

在plugin.sh中如果magnum的api和conduct服务启动,那么将会安装magnum和magnum-client,以及获取magnum_image等操作。

另外对keystone的配置文件进行修改,创建magnum的account

在settings中则为一系列配置参数。用于服务的开启和关闭

devstack的代码只是一小部分。不过也能从这里看出magnum是如何运行的,在OpenStack的峰会上容器越来越火,看好Kolla,magnum以及Murano。
作者简介:
蒋暕青@上海宽带技术及应用工程研究中心:SDN技术实践者,大四北上思博伦实习半年,现工作地点上海

--------------华丽的分割线------------------
本文系《SDNLAB原创文章奖励计划》投稿文章,该计划旨在鼓励广大从业人员在SDN/NFV/Cloud网络领域创新技术、开源项目、产业动态等方面进行经验和成果的文字传播、分享、交流。有意向投稿的同学请通过官方唯一指定投稿通道进行文章投递,投稿细则请参考《SDNLAB原创文章奖励计划》


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/16851.html
分享到:
相关文章
条评论

登录后才可以评论

蒋暕青 发表于16-05-18
0