Nova内部组件详解
- 正数:选出内存最大的物理机->虚拟机在所有物理机上平铺(spreading)
- 负数:选出内存最小的物理机->虚拟机在部分物理机上堆叠(stacking)
- 如果有N个机器的优先级相同,则随机选择scheduler_host_subset_size个
- scheduler_host_subset_size=1(默认)
- RamWeigher:内存权重排序算法,默认算法
- MetricsWeigher:自定义的权重排序算法
- 计算节点相对不可行,高风险的
- 负载均衡,可扩展性好
- use_local=True
- nova-novncproxy
- nova-consoleauth
- vnc client运行在公网上,vnc server运行在私网上
- Vnc proxy作为连接两者的桥梁
- novnc,基于html5 websockets,Canvas和JavaScripts实现
- Spice,redhat虚拟桌面技术
- 一个用户试图从浏览器里面打开连接到虚拟机VNC Client
- 浏览器向nova-api发送请求,要求返回vnc的url
- nova-api调用nova-compute的get_vnc_console方法,要求返回连接VNC的信息
- nova-compute调用libvirt的get_vnc_console函数
- libvirt会通过解析虚拟机的配置文件/instance-0000001.xml获取VNC Server信息
- libvirt将host,port等信息以json格式返回给nova-compute
- nova-compute会随机生成一个UUID作为Token
- nova-api会调用nova-consoleauth的authorize_console函数
- nova-api将connect_info中的access url信息返回给浏览器
- 当浏览器试图打开这个链接时,会将请求发给nova-novncproxy
- nova-novncproxy调用nova-consoleauth的check_token函数
- nova-consoleauth验证这个token,将这个instance对应的connect_info返回给nova-novncproxy
- nova-nonvncproxy通过connect_info中的host,port等信息,连接compute节点上的VNC Server,从而开始了proxy的工作。
- nova-compute将libvirt返回的信息以及配置文件中的信息综合成connect_info返回给nova-api
[root@controller0 ~]# nova service-list
+------------------+-------------+----------+---------+-------+----------------------------+-----------------+
| Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+------------------+-------------+----------+---------+-------+----------------------------+-----------------+
| nova-consoleauth | controller0 | internal | enabled | up | 2018-03-17T03:20:57.000000 | - |
| nova-conductor | controller0 | internal | enabled | up | 2018-03-17T03:20:56.000000 | - |
| nova-cert | controller0 | internal | enabled | up | 2018-03-17T03:20:56.000000 | - |
| nova-scheduler | controller0 | internal | enabled | up | 2018-03-17T03:20:58.000000 | - |
| nova-compute | compute0 | nova | enabled | up | 2018-03-17T03:20:55.000000 | - |
+------------------+-------------+----------+---------+-------+----------------------------+-----------------+
Nova内部组件详解相关推荐
- spring cloud 微服务的版本介绍与内部组件详解
转载于:https://blog.51cto.com/14185725/2370375
- ReactNative ViewPageAndroid组件详解
源码传送门 在我们开发Android的时候,ViewPage这个控件的使用频率还是很高的,最简单的就是制作引导页,应用程序的主界面等,在ReactNative开发中实现该功能的组件是ViewPageA ...
- Android Lifecycle 生命周期组件详解
转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/99695779 本文出自[赵彦军的博客] 一.Lifecycle简介 为什么要引进 ...
- Android应用开发—Intent组件详解
转载自:Android中Intent组件详解 Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件. Intent本身是定义为一个类别(Class),一个Intent对象表达一个目的 ...
- Android基础四大组件详解
Android四大组件详解 博主接触Android开发将近一年,从最初的JavaSE开始,到Android基础,一直学的糊糊涂涂,最近想整理一番 android基础, 顺便把自己的学习开发经验分享给大 ...
- Android中的四大组件详解
Android中的四大组件详解 我们都知道Android系统应用层框架中,为开发者提供了四大组件来便于应用的开发,它们是Activity.Service.BroadcastReceiver.Conte ...
- Streamsets组件详解
Streamsets优化详解 一.Origin类组件详解 二.Processor类组件详解 三.Destination类组件详解 四.Executor类组件使用详解 一.Origin类组件详解 Ama ...
- android 广播的权限,Android四大组件详解之BroadcastReceiver广播接收者
Android四大组件详解---BroadcastReceicer广播接收者 广播有两个角色,一个是广播发送者,另一个是广播接收者. 广播按照类型分为两种,一种是全局广播,另一种是本地广播 全局广播: ...
- Android笔记——四大组件详解与总结
android四大组件分别为activity.service.content provider.broadcast receiver. -------------------------------- ...
最新文章
- 谁是全球最顶级AI实验室?DeepMind、OpenAI和FAIR霸榜前三
- mongoDB的监控工具
- python提高办公效率-几个可以提高工作效率的Python内置小工具
- CVPR 2019 Oral | 华科开源效果超群的人体姿态迁移算法
- Android studio 升级指定dradle
- JAVA学习day06
- [翻译svg教程]Path元素 svg中最神奇的元素!
- Python mysql-表的创建,删除和更新
- IDL实现波段运算DOIT(一)
- C语言I博客作业02
- 关于adsl上网的问题
- 转:高手速成android开源项目【View篇】 .
- java棒棒糖和皮卡丘八音盒_KFC用玩具提前要走了压岁钱
- 天兔(Lepus 3.8)数据库监控系统部署
- google大数据三大论文-中文版-英文版
- 扫地阿姨看完都学会了!java全栈是什么意思
- 牛市最容易亏钱而熊市才是真正的开始
- Lattice原理及在通信中的应用 2 Packing, Covering, Quantization, Modulation
- 人类历史上第一个推荐系统
- java毕业生设计斗南基地鲜花网上销售管理系统计算机源码+系统+mysql+调试部署+lw