获取metadata过程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。启动 neutron router 后 instancec1终于拿到了 metadatac1所认为的 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 发给 ne开发云主机域名utron-metadata-agent,后者再通过管理网络发给 nova-api-metadata。OpenStack 默认通过 l3-agent 创建和管理 neutron-ns-metadata-proxy。但不是所有环境都有 l3-agent,比如直接用物理 router 的场景。这时就需要让 dhcp-agent 来管理 neutron-ns-metadata-proxy。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注开发云行业资讯频道,感谢您对开发云的支持。
这篇文章主要为大家展示了“linux中常用命令是哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中常用命令是哪些”这篇文章吧。Linux命令常用结构 :Command [-option] [argume…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。