获取当前 Nova 实例 ID
Getting Current Nova Instance ID
我正在使用 jclouds SDK 2.1.0 来处理 OpenStack 资源,假设我有一个 运行 nova 服务器并且上面的代码是 运行,有什么方法可以获取 ID 或该实例的详细信息已经 运行?意思是获取实例详细信息(不是针对所有实例,只是我正在使用的实例)
中存在类似于函数的东西
谢谢
编辑
我发现有一个叫meta_data.json that contains the server id (UUID) when creating the server with configuration drive的文件enabled了,但是怎么通过代码实现呢?我可以使用 jclouds SKD 获取该文件吗?
当您使用 jclouds ComputeSevice
创建服务器时,返回的 NodeMetadata
对象有一个包含服务器 ID 的 providerId
字段。如果您直接使用 Nova API,您会得到一个已经具有其 ID 的服务器对象。
根据metadata APIs,它只是一个发送到 URL 的 HTTP GET 请求的问题:http://169.254.169.254/openstack/2012-08-10/meta_data.json
但诀窍是从 Nova Server 本身内部发送此请求,所以我打开了 nova 服务器的控制台,然后我 运行 命令:curl http://169.254.169.254/openstack/2012-08-10/meta_data.json
此命令将 return 一个包含服务器 ID (UUID) 的 JSON 对象,请记住 首先 事情是,当创建一个Nova 实例你应该检查配置驱动器选项
second,服务器中有多个meta_data.json个文件,文件夹2012-08-10[=23中存在的文件=] 包含服务器 ID (UUID)
我正在使用 jclouds SDK 2.1.0 来处理 OpenStack 资源,假设我有一个 运行 nova 服务器并且上面的代码是 运行,有什么方法可以获取 ID 或该实例的详细信息已经 运行?意思是获取实例详细信息(不是针对所有实例,只是我正在使用的实例)
中存在类似于函数的东西谢谢
编辑
我发现有一个叫meta_data.json that contains the server id (UUID) when creating the server with configuration drive的文件enabled了,但是怎么通过代码实现呢?我可以使用 jclouds SKD 获取该文件吗?
当您使用 jclouds ComputeSevice
创建服务器时,返回的 NodeMetadata
对象有一个包含服务器 ID 的 providerId
字段。如果您直接使用 Nova API,您会得到一个已经具有其 ID 的服务器对象。
根据metadata APIs,它只是一个发送到 URL 的 HTTP GET 请求的问题:http://169.254.169.254/openstack/2012-08-10/meta_data.json
但诀窍是从 Nova Server 本身内部发送此请求,所以我打开了 nova 服务器的控制台,然后我 运行 命令:curl http://169.254.169.254/openstack/2012-08-10/meta_data.json
此命令将 return 一个包含服务器 ID (UUID) 的 JSON 对象,请记住 首先 事情是,当创建一个Nova 实例你应该检查配置驱动器选项
second,服务器中有多个meta_data.json个文件,文件夹2012-08-10[=23中存在的文件=] 包含服务器 ID (UUID)