获取 metadata 过程详解 - 每天5分钟玩转 OpenStack(167)

接上节,启动 neutron router 后 instance c1 终于拿到了 metadata, 从下面 c1 的启动日志可知:

 


 

c1 所认为的 metadata 服务地址是 169.254.169.254,端口为 80。我们在 c1 中尝试访问一下 metadata。

 

18.png

 

 

 

确实能够拿到 metadata。但我们知道 nova-api-metadata 是运行在控制节点上的,IP并不是 169.254.169.254,这是怎么实现的呢?下面我们分析一下这个过程。

 

从 c1 的路由表得访问 169.254.169.254 的请求会走 17.17.17.1
 


 

17.17.17.1 实际上就是 test_router 在 test_net 上的 interface IP。这条路由是 OpenStack 自动添加到 instance 中的,这样就将 metadata 的请求转发到 neutron router。

 


 

ip netns 是管理 linux network namespace 的命令,如果对 namespace 不熟悉,可参考教程前面相关章节。

 

test_router 接收到 c1 的请求,会通过 iptable 规则转发到 9697 端口。

 

 

 

9697 端口是干嘛的?这是 neutron-ns-metadata-proxy 的监听端口。

 

 

 

到这里我们可以把思路重新理一下了:

 

  1. instance 通过预定义的 169.254.169.254 请求 metadata。
     

  2. 请求被转发到 neutron router。
     

  3. router 将请求转发给 neutron-ns-metadata-proxy。
     

  4. 再后面就简单了:neutron-ns-metadata-proxy 将请求通过 unix domain socket 发给 neutron-metadata-agent,后者再通过管理网络发给 nova-api-metadata。

OpenStack 默认通过 l3-agent 创建和管理 neutron-ns-metadata-proxy。但不是所有环境都有 l3-agent,比如直接用物理 router 的场景。这时就需要让 dhcp-agent 来管理 neutron-ns-metadata-proxy。

下一节我们分析 dhcp-agent 如何处理 metadata 请求。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243094.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Fedora 20下创建桌面快捷方式:

1.首先要安装gnome-tweak-tool 命令行执行 : [rootlocalhost Downloads]# yum install gnome-tweak-tool 2.安装成功后打开Tweak Tool 在左侧菜单栏中“Desktop” 把Icons on Desktop 打开,下面一些需要再桌面上显示的图标可以勾选 3.需要显示更多进入/u…

月息2%的贷款算高利贷吗?

对于贷款的朋友来说,贷款利息应该是最关心的一个话题了,大家都希望贷款的利息越低越好,如果免息那当然是最好的了!但是市面上大部分接触到的小贷公司利息基本都是在月息2%以上,有高的甚至可以达到月息5%以上。这个利息…

数据累加输出

数据累加输出 题目描述 实现串行输入数据累加输出,输入端输入8bit数据,每当模块接收到4个输入数据后,输出端输出4个接收到数据的累加结果。输入端和输出端与上下游的交互采用valid-ready双向握手机制。要求上下游均能满速传输时,…

第一张信用卡,该选哪家的?

网友A:贷款教授你好,说一下我的情况,本人25岁工作2年,没有信用卡想办一张。但是现在的信用卡五花八门,也不知道怎么选择。所以请你帮我支支招。网友A:再说一下要求吧:1.不想第一张信用卡就给年费2.超市、购物、看电影、…

Linux学习资料

http://code.csdn.net/news/2821271 国内的专业Linux网站 ChinaUnix: 创办于2001年,是一个以讨论Linux/Unix类操作系统技术、软件开发技术、数据库技术和网络应用技术等为主的开源技术社区网站。 Linux伊甸园论坛: 中文GNU/Linux开源社区&…

为什么你总办不到大额信用卡?

通常的信用卡,额度都是1-2万,大额的信用卡标准是5万及以上,有时候一张大额的信用卡能顶3张一般的信用卡,从卡片管理到额度来说都是大额信用更受到人们的青睐。但是,为什么自己总是办不到银行的大额信用卡呢&#xff1f…

非整数倍数据位宽转换24to128

非整数倍数据位宽转换24to128 题目描述 实现数据位宽转换电路,实现24bit数据输入转换为128bit数据输出。其中,先到的数据应置于输出的高bit位。 电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出…

通过 dhcp-agent 访问 Metadata - 每天5分钟玩转 OpenStack(168)

OpenStack 默认通过 l3-agent 创建和管理 neutron-ns-metadata-proxy,进而与 nova-metadata-api 通信。但不是所有环境都有 l3-agent,比如直接用物理 router 的场景。这时就需要走另一条路:让 dhcp-agent 来创建和管理 neutron-ns-metadata-p…

乱查征信,贷款不想要了吗?

前几天接待了一个客户,客户自己是做皮具批发的,想要贷款50万,他个人在深圳有房有车,公司月营业额100多万,目前有120万的贷款,信用记录最近两年有过1次逾期,只是逾期了几天,不算严重。…

Fedora telnet配置

一、检测软件包是否安装 1、# rpm -q telnet (检测客户端软件是否安装) 2、# rpm -q telnet-server (检测服务器端软件是否安装) 如果无,就找个fedora的HTTP或者FTP服务器(也可以是fedora的安装光盘),下载telnet和telnet-server的RPM包安装一下 安装&…

非整数倍数数据位宽转换8to12

非整数倍数数据位宽转换8to12 题目描述 实现数据位宽转换电路,实现8bit数据输入转换为12bit数据输出。其中,先到的数据应置于输出的高bit位。 电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出da…

instance 怎么获得自己的 Metadata - 每天5分钟玩转 OpenStack(169)

要想从 nova-api-metadata 获得 metadata,需要指定 instance 的 id。但 instance 刚启动时无法知道自己的 id,所以 http 请求中不会有 instance id 信息,id 是由 neutron-metadata-agent 添加进去的。针对 l3-agent 和 dhcp-agent 这两种情况…

网上仅凭身份证就可以贷款,可信吗?

近段有一位网友跟贷款教授反映了一个事情,他说他在一个QQ群里面看到有人发布凭借身份证就能贷款的信息,而且利息只有月息1%,他觉得很划算,所以就跟那人联系上,结果联系上之后,把身份证照片提供给那个人&…

整数倍数据位宽转换8to16

整数倍数据位宽转换8to16 题目描述 实现数据位宽转换电路,实现8bit数据输入转换为16bit数据输出。其中,先到的8bit数据应置于输出16bit的高8位。 电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出…

fedora 20下使用gcc 4.8.2编译gcc-4.4.1的错误

In file included from /root/Downloads/gcc-4.4.1/libgcc/../gcc/unwind-dw2.c:333: /root/Downloads/gcc-4.4.1/libgcc/../gcc/config/i386/linux-unwind.h: In function ‘x86_fallback_frame_state’: /root/Downloads/gcc-4.4.1/libgcc/../gcc/config/i386/linux-unwind.h…

状态机-非重叠的序列检测

状态机-非重叠的序列检测 题目描述 设计一个状态机,用来检测序列 10111,要求: 1、进行非重叠检测 即101110111 只会被检测通过一次 2、寄存器输出且同步输出结果 注意rst为低电平复位 信号示意图: timescale 1ns/1nsmodule…

实践 config drive - 每天5分钟玩转 OpenStack(170)

如果 instance 无法通过 metadata service 获取 metadata(无 DHCP 或者 nova-api-metadata 服务),instance 还可以通过 config drive 获得 metadata。 config drive 是一个特殊的文件系统,OpenStack 会将 metadata 写到 config dr…

nothing to build for project 'XXX'

有时候使用Eclipse CDT或者CCS 写程序时出现 nothing to build for project 的错误,这是因为新建的项目类型和实际的源代码类型不一致造成的,比如你新建了C Project, 注意不是 C project, 但是你添加的源文件却是 .cpp 等的C源代码的后缀,那…

借款人死亡后,贷款必须由家属偿还吗?

这几天在网上看到一个网友发了这样一个问题,说在自己死之前,能不能在网上大量申请无抵押贷款,然后留给后代?看了这填信息,估计很多网友都会灵光一现,这貌似留给后人一笔财产不错的选择,生前先大…

状态机-重叠序列检测

状态机-重叠序列检测 题目描述 设计一个状态机,用来检测序列 1011,要求: 1、进行重叠检测 即10110111 会被检测通过2次 2、寄存器输出,在序列检测完成下一拍输出检测有效 注意rst为低电平复位 信号示意图 画出状态转移图 …