FusionSphere OpenStack 6.5方案介绍
OpenStack 系统架构
OpenStack是什么
社区项目分层
- nova:计算服务
- cinder:块存储服务
- glance:镜像服务
- swift:对象存储服务
- manila:文件存储服务
- neutron:软件定义网络服务
- ceilometer:计量、监控服务
- heat:应用编排服务
- keystone:认证鉴权服务
- ironic:裸金属服务
- horizon:图形化人机界面服务(不用)
逻辑关系图
Nova–计算服务
由hypervisor实现计算虚拟化,Nova只负责提供计算服务。
rest api(友好)
位于openstack和*人/第三方组件(keystone)*之间,类似于方向盘方便人/第三方组件和OpenStack的交互。
nova计算服务
系统架构
1、openstack本身的服务: 比如计算nova、块存储cinder等
2、服务内部子组件: 比如nova内部的apilcompute等
3、openstack所使用的公共组件: DB(数据库)、MQ(消息队列)
1、openstack不同服务的通信,比如nova访问keystone,glance访问swift(基于http的rest api访问)
2、服务内部子组件通信,比如nova内部的api访问compute (基于MQ的rpc调用)
3、访问数据库
Nova创建一个虚拟机流程
- user向nova发出创建虚拟机的请求。
- nova-api接收,处理(1、身份认证鉴权。2、配置校验申请。3、数据库)
- nova-api组装请求+scheduler相关的信息 (flavorazimage等)发送给conductor。
- nova-conductor转发给nova-scheduler选择主机
- nova–scheduler根据前面scheduler选择主机(1、filter。2.1、权重,默认内存、可选CPU;2.2、随机)
- nova–scheduler把主机返回给nova–conductor。
- nova–conductor调用该主机对应的nova–compute,要求创建虚拟机
- nova–compute对计算资源加锁。
- nova–compute请求neutron准备port
- nova–compute请求cinder准备disk
- 启动虚拟机
12.nova–compute向glance下载镜像 - 生成虚拟机xml
- 通过dirver调用libvirt接口拉起虚拟机。
资源池管理
开源:
华为:
- region:地理上的区域
- 可用分区:具备相同网络、存储环境的主机集合,可实现热迁移、HA。隐藏要求:必须是同种虚拟化。比如KVM,或者XEN
- 主机组:具备相同属性的的主机集合。隐藏要求:必须是同种虚拟化。比如KVM,或者XEN
1、KVM、XEN等——》一个nova-compute对应一个主机,对应一个服务器。(如图上面的)
2、vsphere(VM公司的)、VRM(早期华为公司基于XEN开发的)——》一对nova-compute对应一套VRM或者vsphere,后端可能有多个CNA,openstack上的一个”主机”对应的是VRM或者vphere上一个集群。集群内可能包含 0~N 服务器 。(如图下面的)
单点or集群
- nova-compute部署方式、部署位置
- 对于KVM、XEN,甚至华为6.3私有云。
- 对于整套openstack来说,nova-compute是多活,scheduler是可以选择到任意nova-compute。但实际上,对于单个计算节点来说,nova-compute是单点的。
- 对于vrmvcenter来说,部署是xxx-nova-compute。一对主备的xxx-nova-compute对应一个集群。随机部署在两个控制节点上。
- vrm是fc-nova-compute
- vcenter是vcenter-nova-compute
keystone-认证鉴权、服务目录认证鉴权
认证鉴权
- Domain:域,keystone中资源(project、user.group)的持有者
- Project:租户,其他组件中资源(计算资源、存储资源、网络资源等)的持有者《华为的区别:6.3以前,domain=组织,project=vdc、租户;6.3及以后,domain区域,project=vdc,最多可以有五级VDC》
- User:用户,云系统的使用者
- Group:用户组,可以把多个用户作为一个整体进行角色管理
- Role:角色,基于角色进行访问控制
- Trust:委托,把自己拥有的角色临时授权给别人
- Policy:访问控制策略,定义接口访问控制规则
- Assignment:授权三元组,一个(actor, target,role)三元组叫一个assignment,actor包括user、group,target包括domain、project。每个assignment代表一次赋权操作
- Token:令牌,用户访问服务的凭证,代表着用户的账户信息,一般需要包含user信息、scope信息(project、domain或者trust) . role信息。分为PKI,UUID,PKIZ,Fernet几种类型。
服务目录
- Region:区域,在keystone里基本代表一个数据中心
- Service:服务,一组相关功能的集合,比如计算服务、网络服务、镜像服务、存储服务等
- Endpoint:必须和一个服务关联,代表这个服务的访问地址,一般一个服务需要提供三种类型的访问地址:public. internal、admin
对象模型
Token
token在openstack中的使用?
- 申请,用户使用用户名密码找keystone进行认证,申请
- 使用,用户携带token请求api,api剥离找keystone验证
- 在同个服务内,不需要再次验证token。如果跨服务,需要再次验证token
token类型
1、uuid
过程:
client携带用户名密码向keystone申请UUID , keystone生成本地保存一份,向client发送一份,client会保存。client向api发送请求时,会在请求头部携带token。api收到后,剥离向keystone进行验证。keystone与本地保存的token比较。正确200,错误401
优点:
缺点:
2、PKI
我 | 银行网站 | 证书颁发机构 |
---|---|---|
api | client(客户端) | keystone |
RabbitMQ-消息队列
注意MQ不是openstack的组件
服务内组件之间的消息全部通过MQ来进行转发,包括控制、查询、监控指标等。
部罢方式:多活部罢
cinder-持久化的块存储服务
1、cinder-api:对外提供rest api入口;找keystone认证鉴权;记录DB;调用后端组件完成相应请求——》控制节点、多活部署
2、cinder-scheduler:筛选主机。——》控制节点、多活部署
filter:权重:已使用存储空间最少胜出;未使用存储空间最多胜出
3、cinder-volume:通过不同的驱动,对接不同的后端存储。——》计算节点、多活部署
4、cinder- backup:备份功能
Glance-镜像服务管理
华为里面GLance叫这个个名字——manila文件存储服务
manila-api
manila-scheduler
manila-share与cinder-volume类似,对接后端存储。
提供文件共享服务:CIFS、NFS
glance-api:rest api接口,keystone认证鉴权,DB操作,调用其他组件,上传下载镜像。
glance–registy:上传镜像时查询数据库,下载镜像时记录数据库。
两个流程:
上传∶请求API,API调用registry,记录存储位置,返回结果,通过api上传镜像到后端存储中
下载:请求API,API调用registry,查询存储位置,返回结果,通过api到后端存储中下载镜像
neutron–网络服务
提供Openstack组件间的内部通信。该网络内的IP地址只有数据中心内部可达。
Data Network
提供云内部VM间数据通信。该网络内的IP地址取决于使用的网络插件程序。
External Network
提供VM与外部Internet间的通信。Internet上的任何人都可以访问该网络内的IP地
API Network
为租户提供包括Networking API在内的所有Openstack API。该网络内的IP地址应该被允许Internet上的任何人可达。该网络基本上与External Network一样,我们甚至可以创建一个external–network子网作为该网络。
架构
一、neutron–server(核心,实现绝大部分控制功能)
二、neutron–xxx–agent (代理,通过相应驱动驱动不同的软件、硬件实现相应的网络服务)
ceilometer-计量、监控服务
1、ceilometer-agent-compute
收集VM的信息(主动调用libvirt API)
2、ceilometer-agent–hardware
收集物理服务器的信息(主动调用host os命令)
3、ceilometer-agent-central
收集openstack组件的信息(主动调用其他组件API)
4、ceilometer-agent–notification
收集MQ的信息(被动监听收集MQ的信息)
原文地址:https://blog.csdn.net/wushibo123/article/details/128538771
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_38260.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!