深度解析 OpenStack metadata 服务架构

启迪云计算
关注

通过router发送请求

如果虚拟机所在subnet 连接在了router 上,那么发向169.254.169.254 的报文会被发至router。如下图所示,neutron 通过在router 所在网络命名空间添加iptables 规则,将该报文转发至9697 端口,而neutron-ns-metadata-proxy 监听着该端口,所以报文被neutron-ns-metadata-proxy 获取。

深度解析 OpenStack metadata 服务架构

通过DHCP发送请求

如果虚拟机所在subnet 没有连接在任何router 上,那么请求则无法通过router 转发。此时 neutron 通过DHCP 服务器来转发metadata 请求。从 下图可以看到DHCP 服务器的IP 配置信息,发现DHCP 服务器配置了两个IP,其中一个就是169.254.169.254。并且DHCP服务器对应的neutron-ns-metadata-proxy监听着80端口,从而发向169.254.169.254 的报文会被发至neutron-ns-metadata-proxy。

深度解析 OpenStack metadata 服务架构

总结

OpenStack metadata服务为用户自定义配置虚拟机提供了有效的解决方案,在虚拟机创建阶段可以方便的将一些参数配置到虚拟机中。如果是在虚拟机的运行阶段,用户期待的一些参数又该如何传递到虚拟机呢,我们将会在后续的文章中讲解。

启迪云-高级开发工程师 郭全

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存