热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

OpenStack平台中的VNC配置图解

对openstack的vnc配置一直比较模糊,所以决定下决心研究一番。上图为官方文档中多节点,多网卡网络配置图。我的理解:99.99.99.0为公网地址,192.168.0.0为管理地址,10.0.0.0为虚拟机地址。假设上图nova-network服务运行于控制节点上。上图为官方文档中vn

对openstack的vnc配置一直比较模糊,所以决定下决心研究一番。

上图为官方文档中多节点,多网卡网络配置图。我的理解:99.99.99.0为公网地址,192.168.0.0为管理地址,10.0.0.0为虚拟机地址。假设上图nova-network服务运行于控制节点上。

上图为官方文档中vnc请求流程。我的理解:

  1. nova  get-vnc-console WindowsXP-Sun novnc

  2. Nova-api接受请求,然后将get_vnc_console消息发送到WindowsXP_Sun虚拟机所在的计算节点。

  3. 计算节点接受get_vnc_console消息,产生token;然后调用libvirt driver的get_vnc_console方法,libvirt driver向libvirt server发出请求,

      得到虚拟机监听的vnc端口; libvirt driver检索nova.conf,找到vncserver_proxyclient_address标签,得到vnc host的ip地址。

  4. Nova-api 发送authorize_console消息给Nova-consoleauth,同时记录计算节点返回的信息(token, vnc host ip, vnc port),以token作为索引。

  5. 返回URL(计算节点novnc_proxy_base_url标签加上token参数)

     

   6. 浏览器访问URL

   7.  noVNC监听6080 HTTP 端口,接受此URL请求,然后向Nova-consoleauth发送check_token消息。

   8. nova-consoleauth检查token,找到之前缓存的连接信息。vnc 代理将请求传送到相应的节点。

   9. 在浏览器中出现虚拟机桌面。

所以配置应该为:

#nova-compute使用,此地址加上“?token”返回给用户,需为控制节点ip(控制节点与计算节点,此标签参数相同,都为控制节点IP)

novnc_proxy_base_url = http://controlNodeIP:6080/vnc_auto.html

#libvirt driver 取得此地址。vnc proxy使用此地址,转向具体的compute node

vncserver_proxyclient_addresss= ComputeNodeManageIP

#nova-compute使用,多网卡,具体监听在哪个接口上。使用内部地址安全。如果使用迁移,此地址配置成0.0.0.0,因为迁到别的节点上,

ComputeNodeManageIP地址发生变化,0.0.0.0监听所以接口。

vncserver_listen= ComputeNodeManageIP

根据上图网络,相应配置内容为。

vnc_enable = true

novnc_enable = true

novnc_proxy_base_url = http://99.99.99.1:6080/vnc_auto.html

vncserver_proxyclient_addresss= 192.168.0.3

vncserver_listen= 192.168.0.3

组件安装:

      控制节点:nova-api, nova-consoleauth,noVNC(VNC proxy for browser)

      计算节点:nova-compute,libvirt driver

存疑:

    按常理,计算节点上应该有vncserver,可是经验证没有安装vncserver。存疑?

同样,单网卡情况也适用。


推荐阅读
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文介绍了一个来自AIZU ONLINE JUDGE平台的问题,即清洁机器人2.0。该问题来源于某次编程竞赛,涉及复杂的算法逻辑与实现技巧。 ... [详细]
  • 2008年1月,微软发布了两则安全更新公告,分别针对Windows操作系统的不同漏洞。其中一项被评为‘关键’级,另一项为‘重要’级。此次更新并未涉及Microsoft Office产品。 ... [详细]
  • 一、使用Microsoft.Office.Interop.Excel.DLL需要安装Office代码如下:2publicstaticboolExportExcel(S ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 在使用 PyInstaller 将 Python 应用程序打包成独立的可执行文件时,若项目中包含动态加载的库或插件,需要正确配置 --hidden-import 和 --add-binary 参数,以确保所有依赖项均能被正确识别和打包。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 解决UIScrollView自动偏移问题的方法
    本文介绍了一种有效的方法来解决在使用UIScrollView时出现的自动向下偏移的问题,通过调整特定的属性设置,可以确保滚动视图正常显示。 ... [详细]
  • 如何高效渲染JSON数据
    本文介绍了在控制器中返回JSON结果的方法,并详细说明了如何利用jQuery处理和展示这些数据,为Web开发提供了实用的技巧。 ... [详细]
  • Win10管理员权限安装问题解决方案
    本文提供了解决在Win10系统中以管理员身份安装软件遇到权限不足问题的详细步骤。 ... [详细]
  • Awk是一款功能强大的文本分析与处理工具,尤其在数据解析和报告生成方面表现突出。它通过读取由换行符分隔的记录,并按照指定的字段分隔符来划分和处理这些记录,从而实现复杂的数据操作。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 服务器虚拟化存储设计,完美规划储存与资源,部署高性能虚拟化桌面
    规划部署虚拟桌面环境前,必须先估算目前所使用实体桌面环境的工作负载与IOPS性能,并慎选储存设备。唯有谨慎估算贴近实际的IOPS性能,才能 ... [详细]
author-avatar
yangyang19890811
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有