问题描述
我有kolla-ansible openstack ussuri
个集群。过去效果很好。偶然地,元数据服务不能被实例访问。 openstack中的密钥对未导入到实例。我检查了实例日志。我发现此警告:[WARNING]: No active Metadata service found
我检查了neutron_Metadata_agent
是否正在运行。
我从运行在此问题之前创建的实例中尝试了curl http://169.254.169.254/openstack
ubuntu@test-vm:~$ curl http://169.254.169.254/openstack
curl: (7) Failed to connect to 169.254.169.254 port 80: Connection refused
这是实例内部的ip路由
ubuntu@test-vm:~$ ip ro
default via 172.30.0.1 dev ens3 proto dhcp src 172.30.255.102 metric 100
169.254.169.254 via 172.30.255.3 dev ens3 proto dhcp src 172.30.255.102 metric 100
172.30.0.0/16 dev ens3 proto kernel scope link src 172.30.255.102
有人可以帮我吗?谢谢您的帮助。
解决方法
实际的元数据服务由Nova API
托管。它直接监听port 8775/TCP
,或者如果使用vhost
作为单独的Apache
配置,则监听。 TLS
代理。 Neutron
元数据代理仅充当实例与实际元数据服务之间的转发器。
This graphic描述了通信流程(尽管对于Train来说,但对于Ussuri可能还是一样)。
我建议检查Nova API
是否仍在监听port 8775/TCP
,如果是,请尝试调试graphic中的通信流。还要检查您实例的安全组。也许您的默认安全组已损坏。