前言
此课程为华为云学院的免费课程,从今天开始陆续学习华为和阿里的云课程,一是为了增加知识量,二是为了硕士毕业后能实现当老师的夙愿,所以会不定时的更新。再说下,写论文做实验,真是头大!!!
第一章 什么是OpenStack
OpenStack是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过web接口让最终用户部署资源。下图为华为云IaaS架构
OpenStack的定位:
OpenStack只是云计算系统的控制面
OpenStack不包括系统的数据面组件,如hypervisor、存储和网络设备等
OpenStack只是构建云的关键组件: 骨干、框架、总线
OpenStack设计理念:
开放:开源,并尽最大可能重用已有开源项目;不要“重复发明轮子”,而要“站在巨人肩膀上
灵活:不使用任何不可替代的私有/商业组件;大量使用插件化方式进行架构设计与实现
可扩展:由多个相互独立的项目组成,每个项目包含多个独立服务组件;无中心架构、无状态架构
华为云OpenStack架构关键特点
1.可扩展性:
最大100个数据中心!
最大10万个物理计算节点!
最大100万个虚拟机!
2.全局视图和跨数据中心资源管理:
支持租户资源(配额、计量、网络、镜像等)全局视图
支持跨数据中心2层/3层网络互通
提供全局SDN功能
第二章 Openstack组件
共享服务组件(6个):
数据库服务(database service):Mariadb及Mongodb
消息传输(Message Queues): RabbitMQ
缓存(cache):Memcached
时间同步(time sync):ntp
存储(storge provider):ceph,GFS,LVM,ISICI等
高可用及负载均衡:pacemaker,HAproxy,keepalived,lvs
核心组件:
身份服务(Identity Service):Keystone
计算服务(compute):Nova
镜像服务(Image Service):Glance
网络服务(Network):Neutron
块存储服务(Block Storage):Cinder
Web界面服务(Dashboard):Horizon
对象存储(Object Storage):Swift
测量(Metering):Ceillrmeter
部署编排(Orchestration):Heat
第三章 部分组件介绍
3.1 Nova
Nova 是一个完整的 OpenStack 计算资源管理和访问工具,负责处理规划、创建和删除操作,是openstack最核心的服务,负责维护和管理云计算计算资源。下图为nova逻辑结构图:
nova组件介绍
3.1.1nova-api
是整个nova的门户,所有对nova的请求都首先由nova-api处理。Nova-api向外暴露若干HTTP rest api 接口在keystone中,客户端可以将请求发送到endpoint指定的地址,向nova-api请求操作。
Nova-api对收到的HTTP api请求会做如下处理:
(1).检查客户端传入的参数是否合法;
(2).调用nova其他子服务的处理客户端HTTP请求;
(3).格式化nova其他子服务返回的结果并返回给客户端。
3.1.2nova-conductor
Nova-compute需要获取和更新数据库中instance的信息,但nova-compute并不会直接访问数据库,而是通过nova-conductor实现数据的访问。
使用nova-conductor的两个显著好处:
(1).更好的系统安全性:早期的openstack版本中,nova-compute可以直接访问数据库,但试想如果任意一个计算节点被黑客入侵,都会导致控制节点上的数据库面临极大的风险。为了解决这个问题,引入了nova-conductor;
(2)更好的伸缩性:nova-conductor建立后,提高了nova的伸缩性。Nova-compute与conductor是通过消息中间件交互的。这种松散的架构允许配置多个nova-conductor实例,从而应对日益增长的计算节点对数据库的访问。
3.1.3nova-scheduler
虚拟机调度服务,负责决定在哪个计算节点上运行虚机。</