初学Openstack必要了解的基础理论
前言:
Openstack是一个云平台管理的项目,不是一个软件,是由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目 。 Openstack是由 Rackspace和NASA共同开发的云计算平台 ,包括两个主要模块:Nova和 Swift 。
(请做好准备,本篇博客全部是文字哦!!!)
一:Openstack的介绍
1、Opestack 特性
-
快速:OpenStack安装部署所需的时间少
-
灵活:OpenStack获得的各大厂商的支持,兼容性和适用性强,OpenStack兼容其他公有云,方便用户进行数据迁移
-
开源:OpenStack的使用成本相对低廉,还有源源不断的更新(频率为半年)
-
可扩展性:OpenStack 采用模块化的设计,支持主流发行版本的linux系统,可以通过横向扩展,增加节点、添加资源
2、Openstack节点类型
是openstack中实现数据中心控制的节点,所谓控制就是管理,管理openstack的所有服务组件。这些组件不管在哪个节点上,都需要在控制节点上完成类似于注册的工作。
控制节点必须安装三种类型的软件:
(1)底层软件
底层软件相对于openstack服务来说,需要为openstack组件来提供服务。底层软件有DB软件、消息队列软件、Menorycache和Etcd等。
(2)核心组件
控制节点必须安装三个openstack的核心组件:Keystone和Glance是完整的安装在控制节点上的,Nova安装了一部分,Nova的安装是为了管理计算节点的计算服务。
(3)其他可选组件
openstack还支持其他可选组件,比如集群中有存储节点,那么在openstack上需要管理存储节点和对应的服务组件等,类似于核心组件Nova。
控制节点服务:
(1)管理支持服务
MySQL:数据库作为基础/扩展服务产生的数据存放的地方
Qpid:消息代理(也称消息中间件)为其他各种服务之间提供了统一的消息通信服务
(2)基础管理服务
Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库
Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板
Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信
Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板
Horizon:控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard
(3)扩展管理服务
Cinder:提供管理存储节点的Cinder相关,同时提供Cinder在Horizon中的管理面板
Swift:提供管理存储节点的Swift相关,同时提供Swift在Horizon中的管理面板
Trove:提供管理数据库节点的Trove相关,同时提供Trove在Horizon中的管理面板
Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性
Centimeter:提供对物理资源以及虚拟资源的监控,并记录这些数据,对该数据进行分析,在一定条件下触发相应动作
网络节点只有Neutron组件,网络节点上的neutron安装core plugin(核心插件)ML2 和service plugin(服务插件)L3 service,具体的 Service Plugin可以根据需求选择。
网络节点包含三个网络端口:
eth0:用于与控制节点进行通信
eth1:用于与除了控制节点之外的计算/存储节点之间的通信
eth2:用于外部的虚拟机与相应网络之间的通信
安装存储组件的节点, 一般有代表性的 Cinder(块存储