1

在通过 python 脚本创建实例之前,我创建了一个子网。

def subnet_create(self, network_id, **kwargs):
    params = {'name': kwargs.get("name"),
              'cidr': kwargs.get("cidr"),
              'ip_version': 4,
              'enable_dhcp': True}
    body = {'subnet': {'network_id': network_id}}
    body['subnet'].update(params)
    return self.neutron_client.create_subnet(body=body).get("subnet")

之后我通过代码创建一个实例:

compute_srv = self.nova_cli.instance_create(
                                compute_inst["name"],
                                compute_inst["image"],
                                compute_inst["flavor"],
                                key_name=compute_inst["key_name"],
                                user_data=compute_inst["user_data"],
                                security_groups=compute_inst["security_groups"],
                                nics=compute_inst["nics"])

地平线显示子网和实例创建成功,但是当我打开控制台页面时,有时终端显示实例无法连接到元数据服务器:

calling 'http://169.254.2169.254/2009-04-04/metadata/instance-id' failed

当前实例无法ping通子网网关,但其他子网的实例可以ping通本实例。

这个问题并非每次都存在。有时可能会显示实例已附加到元数据服务器,并且主机名、IP地址可以设置正确。

但是当我通过 Horizo​​n 手动创建子网时,实例总是能够连接元数据服务器。

我很困惑,我在这里呆了大约整整一个星期。有人知道为什么吗?非常感谢。

4

0 回答 0