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

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

l3-agent

 

下面是 l3-agent 参与情况下 metadata http 请求的处理流程图。

30.png

大的流程为:instance -> neutron-ns-metadata-proxy -> neutron-metadata-agent -> nova-api-metadata,处理细节说明如下:

① neutron-ns-metadata-proxy 接收到请求,在转发给 neutron-metadata-agent 之前会将 instance ip 和 router id 添加到 http 请求的 head 中,这两个信息对于 l3-agent 来说很容易获得。

② neutron-metadata-agent 接收到请求后,会查询 instance 的 id,具体做法是:

1) 通过 router id 找到 router 连接的所有 subnet,然后筛选出 instance ip 所在的 subnet。

2)在 subnet 中找到 instance ip 对应的 port。

3)通过 port 找到对应的 instance 及其 id。

③ neutron-metadata-agent 将 instance id 添加到 http 请求的 head 中,然后转发给 nova-api-metadata,这样 nova-api-metadata 就能返回指定 instance 的 metadata 了。

我们再来看 dhcp-agent 的情况。

 

dhcp-agent

 

31.png

① neutron-ns-metadata-proxy 在转发请求之前会将 instance ip 和 network id 添加到 http 请求的 head 中,这两个信息对于 dhcp-agent 来说很容易获得。

② neutron-metadata-agent 接收到请求后,会查询 instance 的 id,具体做法是:

1) 通过 network id 找到 network 所有的 subnet,然后筛选出 instance ip 所在的 subnet。

2)在 subnet 中找到 instance ip 对应的 port。

3)通过 port 找到对应的 instance 及其 id。

③ neutron-metadata-agent 将 instance id 添加到 http 请求的 head 中,然后转发给 nova-api-metadata,这样 nova-api-metadata 就能返回指定 instance 的 metadata 了。

这样,不管 instance 将请求发给 l3-agent 还是 dhcp-agent,nova-api-metadata 最终都能获知 instance 的 id,进而返回正确的 metadata。

从获取 metadata 的流程上看,有一步是至关重要的:instance 必须首先能够正确获取 DHCP IP,否则请求发送不到 169.254.169.254。但不是所有环境都会启用 dhcp,更极端的,有些环境可能连 nova-api-metadata 服务都不会启用。那么 instance 还能获得 metadata 吗?

这就是下一节我们要讨论的主题:config drive
 

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

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

相关文章

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

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

整数倍数据位宽转换8to16

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

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

状态机-非重叠的序列检测 题目描述 设计一个状态机,用来检测序列 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…

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

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

状态机-重叠序列检测

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

Juniper Space License Issue on Citrix Xen Environment

Based on Juniper “Junos Space Virtual Appliance Installation and Configuration Guide” , JunOS Space “ must deploy the virtual appliance on a VMware ESX, VMWare ESXi or KVM server, which provides a CPU, hard disk, RAM, and a network controller, but requi…

中国人均负债15.5万元,你贡献了多少?

近段时间,借钱,高利贷,资金断裂等各种词汇频繁出现在网络上,东北辉山乳业百亿债危机,山东邹平齐星集团资金断裂欠债百亿,雨润欠下百亿巨款、还有女企业主借高利贷被催收引发的辱母事件等等,一时…

时钟分频(偶数)

时钟分频(偶数) 题目描述 请使用D触发器设计一个同时输出2/4/8分频的50%占空比的时钟分频器 注意rst为低电平复位。 信号示意图: timescale 1ns/1nsmodule even_div(input wire rst ,input wire clk_in,output wire clk_out2,o…

cloud-init 工作原理 - 每天5分钟玩转 OpenStack(171)

cloud-init 是 linux 的一个工具,当系统启动时,cloud-init 可从 nova metadata 服务或者 config drive 中获取 metadata,完成包括但不限于下面的定制化工作: 设置 default locale 设置 hostname 添加 ssh keys到 .ssh/authorize…

信用卡的3种分期模式全面比较

信用卡不同与储蓄卡,它可以具备储蓄功能,也具备透支功能。但是信用卡的过度消费,会使还款压力加大。别担心,信用卡还有一项分期还款功能。下面跟着雷小锋一起全面认识一下信用卡的3种不同的分期模式吧。现在信用卡的分期模式分为以…

世界上唯一可以刷卡买飞机的信用卡

如果有人去购买一个飞机,刷了1个亿的信用卡,大家会相信吗?不管你相不相信,现实总是存在的,2014年7月,收藏家刘益谦从香港苏富比以2.8亿港元拍得鸡缸杯,刷的就是信用卡,当然此信用卡非…

自动贩售机1

自动贩售机1 题目描述: 设计一个自动贩售机,输入货币有三种,为0.5/1/2元,饮料价格是1.5元,要求进行找零,找零只会支付0.5元。 ps: 投入的货币会自动经过边沿检测并输出一个在时钟上升沿到1,在…

使用vivado进行逻辑开发时,进行到Generate Bitstream时报错

使用vivado进行逻辑开发时,进行到Generate Bitstream时报错,如下: [Drc 23-20] Rule violation (NSTD-1) Unspecified I/O Standard - 4 out of 142 logical ports use I/O standard (IOSTANDARD) value DEFAULT, instead of a user assigned…

房贷断供会有什么严重后果?

当前我国的房价市场存在很大的泡沫,虽然房价还在涨,但是泡沫终究会有破裂的一天,一旦房产泡沫破裂,那房价势必会下跌,一旦房价下跌,就会出现很多人弃房断供。当然房贷断供并不一定要等到房价崩盘的那天&…

人民的名义中,为什么蔡成功的贷款这么难?

在人民的名义电视剧中,大风厂被山水集团和达康书记的老婆欧阳菁设圈套,蔡成功以大风厂全部股权作质押,向山水集团借了6000万的过桥资金,约定利息是日息千分之4,结果京州城市银行没有给蔡成功贷款,而向信用社…

自动贩售机2

自动贩售机2 题目描述: 设计一个自动贩售机,输入货币有两种,为0.5/1元,饮料价格是1.5/2.5元,要求进行找零,找零只会支付0.5元。 ps: 1、投入的货币会自动经过边沿检测并输出一个在时钟上升沿到1&#xff…

[(IBUF driven by I/O terminal ) is unplaced after IO placer?

在实现 xilinx IP内核 AXI Ethernet 时,出现如下图所示的错误 出现改错误的原因是 AXI Ethernet 的 MDIO接口没有导出,在IP设计框图中导出这个MDIO接口,然后约束文件中分配引脚即可。

负债多少才算高?负债过高还能办贷款吗?

负债在当今社会是很常见的一件事,连美国总统都无法避免。据评级机构标普近期发布的估测,全球主权债规模今年可能触及44万亿美元,创历史新高。而按照国际货币基金组织的测算,全球总体债务已经触及152万亿美元的历史高位&#xff0c…

占空比50%的奇数分频

占空比50%的奇数分频 题目描述 设计一个同时输出7分频的时钟分频器,占空比要求为50% 注意rst为低电平复位。 信号示意图: timescale 1ns/1nsmodule odo_div_or(input wire rst ,input wire clk_in,output wire clk_out7);//*************…