使用cloudinit工具来完成虚拟机配置适应问题的时候,遇到了169.254.169.254
无法访问的忧伤。
问题描述
安装的是OpenStack Havana版本,使用neutron提供网络功能,采用linuxbridge下的vlan网络模型,因为使用的是centos6.2,所以没使用ip namespace功能。
在主控节点上对metadata相关的关键配置如下:
-
/etc/nova/nova.conf
service_neutron_metadata_proxy=true
neutron_metadata_proxy_shared_secret=neutron
-
/etc/neutron/metadata_agent.ini
nova_metadata_ip = 10.122.122.1
nova_metadata_port = 8775
metadata_proxy_shared_secret = neutron
-
/etc/neutron/dhcp_agent.ini
enable_isolated_metadata = False
enable_metadata_network = False
在虚拟机内部执行curl 169.254.169.254
得到curl: (7) couldn't connect to host
错误。刚开始条件反射的怀疑是iptables的问题,去iptables查看了下,没什么不正常。然后再通过wireshark去抓包,发现了大量的arp包,询问169.254.169.254
的mac地址。现在大概有些眉目了。
问题解决
在解决上面的问题之前,先通过这几篇博