O015、OpenStack 架构


参考https://www.cnblogs.com/CloudMan6/p/5340622.html   终于正式进入OpenStack 部分了。   今天开始正式学习OpenStack,OpenStack 从2010年到今天,已经第10个年头了 。每半年发布一个版本,版本以字母顺序命名,现在已经到第20个版本了(字母 T),OpenStack 最初只有两个模块(服务),现在模块数量已经超过40+ ,每个模块作为独立的子项目开发。   版本列表参考下面    Release Series    (https://releases.openstack.org/index.html#release-series) 模块列表参考下面    Service Projects    (https://releases.openstack.org/stein/index.html#service-projects)   面对如此庞大的阵容,作为初学者我们如何起步呢?这里我们通过实际操作由浅入深的学习和实践OpenStack,最终具备实施OpenStack的能力。   我们会把学习的重点放在OpenStack最核心的地方,见下图     作为 IaaS 层的云操作系统,OpenStack 为虚机提供并管理三大类资源:计算、存储、网络   这三个就是核心,所以我们学习的重点就是:搞清楚 OpenStack 是如何对计算、网络和存储资源进行管理的。在 40+ 模块中,管理这三类资源的模块其实并不多,这几个模块就是我们的学习重点。   要达到这个目的,我们自然需要研究 OpenStack 的整体架构。架构里哪些核心模块负责管理计算资源、网络资源和存储资源?模块之间如何协调工作?同时我们会构建一个实验环境,进到各个模块的内部,通过实际操作真正理解和掌握OpenStack。   OpenStack架构   结构是个好东西,他帮我们站在高处看清楚事务的整体结构,避免过早的进入细节而迷失方向,下图是OpenStack的Conceptual Architecture     中间菱形 是虚拟机,围绕VM的那些长方形代表OpenStack不同的模块(OpenStack叫服务,后面都用服务这个术语),下面分别介绍这些服务。   Nova        管理VM的生命周期,是OpenStack中最核心的服务。   Neutron        为OpenStack提供网络连接服务,负责创建和管理 L2 L3 网络,为VM听过虚拟网络和物理网络连接。   Glance        管理VM启动镜像,Nova创建VM时将使用Glance提供的镜像。   Cinder        为VM提供块存储服务。Cinder提供的每一个Volume在VM看来就是一块虚拟磁盘,一般用作数据盘。   Swift        提供对象存储服务。VM可以通过 RESTful API 存放对象数据。作为可选的方案,Glance可以将镜像存放在Swift中,Cinder也可以将Volume备份到Swift中。   Keystone        为OpenStack的各种服务提供认证和权限管理服务。简单的说,OpenStack上的每一个操作都必须通过Keystone的审核。   Ceilometer        提供OpenStack监控和计量服务,为报警、统计或者计费提供数据。   Horizon        为OpenStack用户提供一个Web的自服务portal。       在上面这些服务器中,哪些是OpenStack的核心服务呢?核心服务就是如果没有他,OpenStack就跑不起来。所以       1、Nova 管理计算资源,是核心服务     2、Neutron 管理网络资源,是核心服务     3、Glance 为VM提供OS镜像,属于存储范畴,是核心服务     4、Cinder 提供块存储,VM怎么也得需要数据盘吧,是核心服务     5、Swift 提供对象存储,不是必须的,是可选服务     6、Keystone 认证服务,没他OpenStack转不起来,是核心服务     7、Ceilometer 监控服务,不是必须的,是可选服务     8、Horizon 非常需要的一个操作界面   现在核心服务有了,我们把镜头拉近,看看核心服务的内部结构:Logical Architecture     在 Logical Architecture 中,可以看到每个服务又有若干个组件组成。以 Neutron为例,包含     1、Neutron Server、Neutron Plugins 和 Neutron Agents 2、Network Provider 3、Message Queue 4、Neutron Database   在后面的章节中我们会展开学习这些组件。   这里想要强调一点:上面是 Logical Architecture ,描述的是 Neutron 服务各个组成部分以及个组件之间的逻辑关系。而在实际的部署方案上,各个组件可以部署到不同的物理节点上。   OpenStack 本身是一个分布式系统,不但各个服务可以分布式部署,服务中的组件也可以分布式部署。这种分布式特性让OpenStack 具备极大的灵活性、伸缩性和高可用性。当然从另一个角度将,这也使得OpenStack比一般系统复杂,学习难度也大。   后面我们会深入学习各个核心  

Release Series( https://releases.openstack.org/index.html)?

OpenStack is developed and released around 6-month cycles. After the initial release, additional stable point releases will be released in each release series. You can find the detail of the various release series here on their series page. Subscribe to the combined release calendar for continual updates.
Series Status Initial Release Date Next Phase EOL Date
Train Development 2019-10-16 estimated(schedule) Maintained estimated 2019-10-16  
Stein Maintained 2019-04-10 Extended Maintenanceestimated 2020-10-10  
Rocky Maintained 2018-08-30 Extended Maintenanceestimated 2020-02-24  
Queens Maintained 2018-02-28 Extended Maintenanceestimated 2019-08-25  
Pike Maintained 2017-08-30 Extended Maintenanceestimated 2019-03-03  
Ocata Extended Maintenance 2017-02-22 Unmaintainedestimated TBD  
Newton End Of Life 2016-10-06   2017-10-25
Mitaka End Of Life 2016-04-07   2017-04-10
Liberty End Of Life 2015-10-15   2016-11-17
Kilo End Of Life 2015-04-30   2016-05-02
Juno End Of Life 2014-10-16   2015-12-07
Icehouse End Of Life 2014-04-17   2015-07-02
Havana End Of Life 2013-10-17   2014-09-30
Grizzly End Of Life 2013-04-04   2014-03-29
Folsom End Of Life 2012-09-27   2013-11-19
Essex End Of Life 2012-04-05   2013-05-06
Diablo End Of Life 2011-09-22   2013-05-06
Cactus End Of Life 2011-04-15    
Bexar End Of Life 2011-02-03    
Austin End Of Life 2010-10-21    
Note: The schedule of Maintenance phases changed during Ocata. The old phases were used until Newton.  
 

Service Projects( https://releases.openstack.org/stein/index.html)?

Deliverable Earliest Version Most Recent Version Stable Status Notes
aodh 8.0.0 8.0.0 Maintained release notes
barbican 8.0.0 8.0.0 Maintained  
blazar 3.0.0 3.0.0 Maintained release notes
ceilometer 12.0.0 12.0.0 Maintained release notes
cinder 14.0.0 14.0.0 Maintained release notes
cloudkitty 9.0.0 9.0.0 Maintained release notes
congress 9.0.0 9.0.0 Maintained release notes
cyborg 2.0.0 2.0.0 Maintained release notes
designate 8.0.0 8.0.0 Maintained release notes
ec2-api 8.0.0 8.0.0 Maintained  
freezer 7.0.0 7.1.0 Maintained release notes
glance 18.0.0 18.0.0 Maintained release notes
heat 12.0.0 12.0.0 Maintained release notes
horizon 15.0.0 15.0.0 Maintained release notes
ironic 12.0.0 12.1.0 Maintained release notes
karbor 1.2.0 1.3.0 Maintained  
keystone 15.0.0 15.0.0 Maintained release notes
magnum 8.0.0 8.0.0 Maintained release notes
manila 8.0.0 8.0.0 Maintained release notes
masakari 7.0.0 7.0.0 Maintained release notes
mistral 8.0.0 8.0.0 Maintained release notes
monasca-api 2.8.0 3.0.0 Maintained release notes
monasca-events-api 0.2.0 0.3.0 Maintained release notes
monasca-log-api 2.8.0 2.9.0 Maintained release notes
murano 7.0.0 7.0.0 Maintained release notes
neutron 14.0.0 14.0.1 Maintained release notes
nova 19.0.0 19.0.0 Maintained release notes
octavia 4.0.0 4.0.0 Maintained release notes
panko 6.0.0 6.0.0 Maintained release notes
placement 1.0.0 1.0.0 Maintained release notes
qinling 2.0.0 2.0.0 Maintained release notes
sahara 10.0.0 10.0.0 Maintained release notes
searchlight 6.0.0 6.0.0 Maintained release notes
senlin 7.0.0 7.0.0 Maintained release notes
solum 6.0.0 6.0.0 Maintained release notes
storlets 3.0.0 3.0.0 Maintained  
swift 2.20.0 2.21.0 Maintained release notes
tacker 1.0.0 1.0.0 Maintained release notes
tricircle 6.0.0 6.0.0 Maintained release notes
trove 11.0.0 11.0.0 Maintained  
vitrage 4.0.0 4.3.1 Maintained release notes
watcher 2.0.0 2.0.0 Maintained release notes
zaqar 8.0.0 8.0.0 Maintained  
zun 3.0.0 3.0.0 Maintained release notes

   

相关