zoukankan      html  css  js  c++  java
  • OpenStack Magnum项目简介

     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开源团队工程师向新勇

  • 相关阅读:
    Linux命令行和Shell脚本编程
    Excel自动触发时间
    dom4j读取xml文件 简单例子
    GSM & Foxit Reader
    ThreadPoolExecutor 线程池
    Linux /var/log
    delphi开发技巧
    利用ScktSrvr打造多功能Socket服务器
    delphi中Windows消息大全使用详解
    自己构造注入点方便入侵
  • 原文地址:https://www.cnblogs.com/openstackteam/p/5613538.html
Copyright © 2011-2022 走看看