在netron provider network环境中使用metadata
2013-12-06 10:59
369 查看
虽然L3 agent在havana中可以做到多节点部署,但是和nova-network的multi-host还是有些差距,实际生产环境中还是会使用实体路由器,由实体路由器本身保证HA。这就使得我们会使用netron的provider network feature。当我们使用provider network时,发现了虚机无法访问metadata的问题,本文记录了两个解决办法。
首先说下我们计算节点的构架大致如下:
使用的2层agent是ml2(ovs+vlan),dhcp agent做了multi host部署。 provider 网络以100.100.100.0/24 GW 为100.100.100.1为例。
当我们在provider network上启动虚机后,虚机会获取到默认网关是100.100.100.1, 当虚机想访问169.254.169.254时, 就会发送到默认网关处,而此处的默认网关是外部路由,显然不会对169.254.169.254作出任何反映。这就造成了虚机无法获取metadata。
目前我所知的解决的办法有以下两个:
1. 在外部路由上将169.254.169.254:80端口映射到metadata HA ip:8775,这样外部路由器就可以将请求转发到metadata server。 但这里有一个明显的缺陷,我们需要手动的在外部路由器上加上这样的映射。
2. 在dhcp.ini中启用enable_isolated_metadata。
需要注意的是由于以下bug,我们在创建subnet的时候必须要disable gateway ip,通过设置Host Routes的方式将默认路由设置进去。
https://bugs.launchpad.net/neutron/+bug/1236783
当我们设置了enable_isolated_metadata后,在dhcp的ops中就会加入169.254.169.254的路由,具体的实现流程以下blog写的非常清楚,在此不再累述。
http://techbackground.blogspot.ie/2013/06/metadata-via-dhcp-namespace.html
http://techbackground.blogspot.ie/2013/06/metadata-via-quantum-router.html
目前cirros由于以下bug,这个feature还不能work:
https://bugs.launchpad.net/cirros/+bug/1190372
首先说下我们计算节点的构架大致如下:
使用的2层agent是ml2(ovs+vlan),dhcp agent做了multi host部署。 provider 网络以100.100.100.0/24 GW 为100.100.100.1为例。
当我们在provider network上启动虚机后,虚机会获取到默认网关是100.100.100.1, 当虚机想访问169.254.169.254时, 就会发送到默认网关处,而此处的默认网关是外部路由,显然不会对169.254.169.254作出任何反映。这就造成了虚机无法获取metadata。
目前我所知的解决的办法有以下两个:
1. 在外部路由上将169.254.169.254:80端口映射到metadata HA ip:8775,这样外部路由器就可以将请求转发到metadata server。 但这里有一个明显的缺陷,我们需要手动的在外部路由器上加上这样的映射。
2. 在dhcp.ini中启用enable_isolated_metadata。
需要注意的是由于以下bug,我们在创建subnet的时候必须要disable gateway ip,通过设置Host Routes的方式将默认路由设置进去。
https://bugs.launchpad.net/neutron/+bug/1236783
当我们设置了enable_isolated_metadata后,在dhcp的ops中就会加入169.254.169.254的路由,具体的实现流程以下blog写的非常清楚,在此不再累述。
http://techbackground.blogspot.ie/2013/06/metadata-via-dhcp-namespace.html
http://techbackground.blogspot.ie/2013/06/metadata-via-quantum-router.html
目前cirros由于以下bug,这个feature还不能work:
https://bugs.launchpad.net/cirros/+bug/1190372
相关文章推荐
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十六)Structured Streaming:WARN clients.NetworkClient: Error while fetching metadata with correlation id 1 : {my-topic=LEADER_NOT_AVAILABLE}
- IOS应用网络数据包拦截之三 网络环境模拟软件Network Link Conditioner使用介绍
- 【笔记】【环境搭建】Ubuntu下使用STLPort
- IOS 中openGL使用教程1(openGL ES 入门篇 | 搭建openGL环境)
- VS2008环境使用MFC操作读取excel文件(OLE/COM)
- 不配置OpenCV环境,以动态链接的方式使用OpenCV
- 使用Jenkins搭建Android自动打包环境
- Centos6.3 下使用 Tomcat-6.0.43 非root用户 部署 生产环境 端口转发方式
- 在J2EE环境中使用Quartz企业级计划调度器(1)
- windows环境下PHP 开发环境的选择、建立及使用
- Linux 环境下使用C++ 提取指定文件夹及其子文件夹中的文件名信息
- linux——centos下搭建java开发环境(使用yum+外网无法访问腾讯云的tomcat问题)
- Kubernetes用户指南(三)--在生产环境中使用Pod来工作、管理部署
- Eclipse上Maven环境配置使用
- cocoapods 环境配置及使用 (MAC OS X 10.11 更新后的新的安装方式)
- 在Mac下使用xcode搭建wxWidgets开发环境
- Kubernetes用户指南(三)--在生产环境中使用Pod来工作、管理部署
- zabbix分布式环境使用
- Git客户端搭建环境(Windows系统)的使用