获取metadata过程是怎样的

69次阅读
没有评论

共计 1022 个字符,预计需要花费 3 分钟才能阅读完成。

获取 metadata 过程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面丸趣 TV 小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

启动 neutron router 后 instance c1  终于拿到了 metadata

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。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注丸趣 TV 行业资讯频道,感谢您对丸趣 TV 的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计1022字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)