获取 metadata 过程详解 - 每天5分钟玩转 OpenStack(167)
接上节,启动 neutron router 后 instance c1 终于拿到了 metadata, 从下面 c1 的启动日志可知:
c1 所认为的 metadata 服务地址是 169.254.169.254,端口为 80。我们在 c1 中尝试访问一下 metadata。
确实能够拿到 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 的监听端口。
到这里我们可以把思路重新理一下了:
instance 通过预定义的
169.254.169.254
请求 metadata。请求被转发到 neutron router。
router 将请求转发给 neutron-ns-metadata-proxy。
再后面就简单了: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 请求。
获取 metadata 过程详解 - 每天5分钟玩转 OpenStack(167)相关推荐
- Cinder 组件详解 - 每天5分钟玩转 OpenStack(47)
Cinder 组件详解 - 每天5分钟玩转 OpenStack(47) 本节我们将详细讲解 Cinder 的各个子服务. cinder-api cinder-api 是整个 Cinder 组件的门户, ...
- Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34)
Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34) 本节通过日志详细分析 Nova Pause/Resume 操作. 有时需要短时间暂停 instan ...
- Metadata Service 架构详解 - 每天5分钟玩转 OpenStack(165)
下面是 Metadata Service 的架构图,本节我们详细讨论各个组件以及它们之间的关系. nova-api-metadata nova-api-metadata 是 nova-api 的一个子 ...
- 获取 metadata 的完整例子 - 每天5分钟玩转 OpenStack(166)
我们将通过实验详细分析 instance 从 nova-api-metadata 获取信息的完整过程. 环境介绍 1. 一个 all-in-one 环境(多节点类似). 2. 已创建 neutron ...
- Launch和Shut Off操作详解 - 每天5分钟玩转 OpenStack(30)
本节详细分析 instance launch 和 shut off 操作,以及如何在日志中快速定位有用信息的技巧. Launch Launch instance 应该算 Nova 最重要的操作. 仔细 ...
- Unshelve Instance 操作详解 - 每天5分钟玩转 OpenStack(39)
上一节我们 shelve instance 到 Glance,本节讨论如何通过 unshelve 操作恢复该 instance. 因为 Glance 中保存了 instance 的 image,uns ...
- Nova 组件详解 - 每天5分钟玩转 OpenStack(26)
本节开始,我们将详细讲解 Nova 的各个子服务. 前面架构概览一节知道 Nova 有若干 nova-* 的子服务,下面我们将依次学习最重要的几个. 今天先讨论 nova-api 和 nova-con ...
- Migrate Instance 操作详解 - 每天5分钟玩转 OpenStack(40)
Migrate 操作的作用是将 instance 从当前的计算节点迁移到其他节点上. Migrate 不要求源和目标节点必须共享存储,当然共享存储也是可以的. Migrate 前必须满足一个条件:计算 ...
- Rebuild Instance 操作详解 - 每天5分钟玩转 OpenStack(37)
上一节我们讨论了 snapshot,snapshot 的一个重要作用是对 instance 做备份. 如果 instance 损坏了,可以通过 snapshot 恢复,这个恢复的操作就是 Rebuil ...
最新文章
- window 获取进程运行长
- 《强化学习导论》经典课程10讲,DeepMind大神David Silver主讲
- Android中文输入的新选择——搜狗拼音输入法
- Spring boot的put请求
- 纯javascript实现pdf签名_Mac最强PDF编辑工具
- MySQL系列之E-1------MySQL主从复制原理
- matlab瓶盖盖严检查,盖检机|瓶盖检测|外观检测设备|誉阵科技
- jquery 读取checkbox
- 画等高线_课堂妙招 | 辣椒玩转等高线
- android蜂巢效果、环形菜单、Kotlin影视应用、简约时钟、查看导出App、支付宝AR扫码效果等源码
- 20182319彭淼迪第一周学习总结
- 阿尔伯塔计算机硕士录取,阿尔伯塔大学计算机工程专业硕士.pdf
- Debian vmtools安装后 不能复制粘贴文件
- win7计算机不能设置双屏怎么回事,告诉你win7怎么设置双屏显示
- 分析system_call中断处理过程
- 基于Robot Studio的工业机器人汽车喷涂仿真设计
- 1.5-CPU性能-软中断
- 蓝桥杯之DS18B20
- 【论文笔记】PnP-AdaNet:即插即用的对抗域适应网络,用于跨模态心脏分割的基准
- JS 前端 判断字符串是否相等
热门文章
- VisualSVN 备份
- Blueprint:一个Flash Builder代码示例的扩展
- kerberos的故事2
- redis淘汰策略面试题_redis有哪些数据淘汰策略
- java object monitor_Java精通并发-通过openjdk源码分析ObjectMonitor底层实现
- Ehab and Prefix MEXs CodeForces - 1364C(思维)
- 【阿里妈妈营销科学系列】第七篇:目标群组发现
- 奇小葩讲设备树(2/5)-- Linux设备树详解(二)文件构成
- mysql备份更换存储引擎_mysql数据库innodb存储引擎备份脚本
- 安徽工程大学计算机控制,(完整版)安徽工程大学期末考试《计算机控制技术》范围总结2 .pdf...