我们可以通过浏览器对虚拟机实例的控制台进行访问,为了安全,我们需要提供一个token,它的作用与keystone的token类似,但是它的验证并不是通过keystone完成的,而是由nova-consoleauth。

nova-consoleauth是一个rpc server,对外提供RpcAPI,实现十分简单,并且接口也很少:

authorize_console ->授权控制台,将token作为键、对应的虚拟机uuid、控制台类型(spice-html5/novnc/rdp-html5)、虚拟机的宿主机ip、虚拟机对应的宿主机端口、内部访问地址、上次活动时间的json字符串作为值存入缓存(可以配置使用memcached),并且清除已超时的token

check_token -> 校验token,首先在缓存中获取键为token的值,如果超时或者token不存在,那么校验失败;反之,对值进行验证,验证过程就是通过nova-compute的RpcAPI validate_console_port进行的,在validate_console_port中先通过计算驱动(默认是libvirt.LibvirtDriver)获取到实例的控制台信息,包括宿主机ip、端口等,然后将端口与值中的端口进行比较,相等的情况下,验证通过,最后返回token对应的值即控制台信息;反之,验证失败,最后返回None

delete_tokens_for_instance->删除虚拟机实例的token

【Nova】nova-consoleauth学习相关推荐

  1. [nova]nova api执行过程分析

    新手,水平较低,很多地方还不是很理解,错漏在所难免,后续会慢慢完善的. 我总结了一下,想要通过读懂源代码来学习一个新技术,大概可以分为三个步骤走: 1.理解相关的类库的功能及使用. 2.理清代码中对象 ...

  2. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二

    再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...

  3. openstack 学习笔记 虚拟机的基础安装sql glance nova keystone 。。。。。

    专业综合设计与开发 目 录 1.虚拟机的安装 6 1.1 虚拟机安装配置 6 1.2 安装epel仓库 6 1.3 克隆前的其它准备工作 6 2.Open Stack 7 2.1 OpenStack是 ...

  4. 第 5 章 Nova - 025 - OpenStack 通用设计思路

    API 前端服务 每个 OpenStack 组件可能包含若干子服务,其中必定有一个 API 服务负责接收客户请求. 以 Nova 为例 nova-api 作为 Nova 组件对外的唯一窗口,向客户暴露 ...

  5. pymysql安装_第八章 nova组件安装2

    1.在控制节点安装nova组件 apt -y install nova-api nova-placement-api nova-conductor nova-consoleauth nova-sche ...

  6. Nova 组件详解 - 每天5分钟玩转 OpenStack(26)

    本节开始,我们将详细讲解 Nova 的各个子服务. 前面架构概览一节知道 Nova 有若干 nova-* 的子服务,下面我们将依次学习最重要的几个. 今天先讨论 nova-api 和 nova-con ...

  7. nova— 计算服务

    一.nova介绍: Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源.OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的. ...

  8. openstack Nova日志相关

    简介 instance 从创建到删除的整个生命周期都是由 Nova 管理的. 后面各小节我们以 instance 生命周期中的不同操作场景为例,详细分析 Nova 不同组件如何协调工作,并通过日志分析 ...

  9. 【OpenStack】【Nova】安装与配置详解 (1)

    文章目录 centos-openstack-rocky仓库中Nova相关的包 openstack-nova-common包 openstack-nova-api包 openstack-nova-con ...

最新文章

  1. oracle.com.cn宕机于09-11-13 20:21
  2. oracle中TopN查询
  3. 新后缀勒索病毒.phobos 解密成功 sql数据恢复
  4. nginx中configure脚本支持的常用选项,拍摄自《Nginx高性能Web服务器详解》
  5. hihocoder 1015 : KMP算法(kmp)
  6. 关于jQuery Mobile 的pageinit,pageshow,以及data-ajax
  7. java AES 加密和linux解密
  8. 学以致用,Python定时采集微博评论
  9. 如何使用PowerShell将VS Code扩展导出到另一台计算机
  10. java 数据透视表 组件_Apache POI如何将工作簿样式应用于所有数据透视表 . 我如何排除床单?...
  11. 《通用规范汉字表》背景知识词条
  12. 索尼z3c d5833港版救砖强刷说明
  13. c++课程设计之通讯录电话簿管理设计
  14. windows 的快捷截图
  15. Perl笔记:07、以正则表达式进行匹…
  16. 如何构建面向IT性能的运维组织
  17. 客户体验决胜2022,低代码是快速取胜之道
  18. 串操作指令应用(MOVS/CMPS/SCAS/LODS/STOS)
  19. raw/rgb/yuv/nv21图像格式总结
  20. BUCK电源芯片BST引脚100nF电容的作用

热门文章

  1. TCP协议的三次握手大体流程
  2. 【tensorrt】——插件写法及python plugin大体流程
  3. Python编程之md5加密和sha1加密
  4. Speedoffice(word)如何生成目录
  5. Win10下如何修改系统用户目录名称
  6. $('.test:hiden');和$('.test :hiden);区别
  7. ffmpeg录制桌面,麦克风和系统声音独立成2路音轨
  8. 45页精华《2022中国建筑行业数字化转型研究报告》出炉(附下载)
  9. 图片太大怎么压缩变小?压缩有技巧
  10. 二阶可导的充要条件_可导函数在x