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開源團隊工程師向新勇


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM