openstack启动云主机的流程
2015-09-22 14:01
351 查看
1. 用户使用Dashboard或者CLI 把认证信息通过REST请求发送给keystone进行认证。
2. Keystone校验用户发送的认证信息,并且生成/存储/返回认证后的令牌(token),这个令牌被用来向其他组件发送REST请求。
3. Dashboard 和 CLI把“启动云主机”和 “nova-boot”请求转换成REST API请求,并且发送到nova-api。
4. Nova-api收到请求,然后向keystone发送验证令牌和访问权限的请求。
5. Keystone验证令牌并且返回添加了角色和权限的验证信息。
6. Nova-api和数据库交互。
7. 在数据库中创建新云主机的信息。
8. nova-api发送包含云主机ID的rpc.call请求到消息队列,让nova-scheduler从数据库中取得云主机信息。
9. nova-scheduler 从队列中取得请求。
10. nova-scheduler与数据库交互,通过过滤和权重策略,查询合适的主机。
11. 数据库返回合适的宿主机ID(计算节点)
12. nova-scheduler向符合条件的云主机发送“启动云主机”的rpc.cast请求。
13. 对应的nova-compute从队列中取得请求。
14. nova-compute向nova-conductor发送rpc.call请求,需要获得云主机的信息,比如云主机ID和flavor(内存,CPU,硬盘),系统镜像等。
15. nova-conductor 从队列中取得请求。
16. nova-conductor和数据库交互。
17. 数据库返回云主机信息。
18. nova-conductor通过队列向nova-compute返回云主机的信息(内存,CPU,硬盘,系统镜像)。
19. nova-compute发起REST请求,通过发送令牌和镜像ID到glance-api,取得镜像URI。
20. glance-api通过keystone验证令牌。
21. nova-compute获得镜像资源。
22. nova-compute发起REST请求,通过发送令牌和网络信息到Network API,配置云主机网络和IP。(openvswitch-agent)
23. quantum-server(neutron-server)通过keystone验证令牌。
24. nova-compute获得了网络信息。
25. nova-compute发起REST请求,通过发送令牌和卷信息到Volume API,挂载云硬盘。
26. cinder-api通过keystone验证令牌。
27. nova-compute获得了块设备信息。
28. nova-compute生成hypervisor驱动需要的数据,并且向hypervisor(libvirt)发送请求,启动虚拟机。
相关文章推荐
- 什么是OpenStack 开源的云计算管理平台项目
- Oracle Connect to Idle Instance解决方法
- 如何轻松搭建Windows8云平台的开发环境
- openstack(juno版)使用rsyslog转发日志
- OpenStack Murano Dashboard(Kilo)安装
- 【原创】OpenStack Swift源码分析(二)ring文件的生成
- 【原创】Swift服务启动架构分析
- 【原创】OpenStack Swift源码分析(三)proxy服务启动
- 【原创】OpenStack Swift源码分析(四)proxy服务响应
- 【原创】OpenStack Swift源码分析(五)keystone鉴权
- Swift中的一致性哈希算法分析
- 【原创】OpenStack Swift源码分析(六)object服务
- 【原创】OpenStack Swift源码分析(七)Replication服务
- 【原创】OpenStack Swift源码分析(八)Updater && Auditor服务
- Swift中映射与冗余
- 【翻译】Nova系统架构
- Swift 源码分析 脑图
- 开放式创新改变世界——OpenStack生态系统将重新洗牌
- 用puppet快速部署openstack
- 开源云平台OpenStack发展与应用