第 10 章 向实例添加元数据
Compute (nova)服务使用元数据在启动时将配置信息传递给实例。实例可以使用配置驱动器或元数据服务来访问元数据。
- 配置驱动器
- 配置驱动器是您可以在实例引导时附加到实例的特殊驱动器。配置驱动器以只读驱动器的形式呈现给实例。实例可以挂载此驱动器并读取其中的文件,以获取通常可通过元数据服务提供的信息。
- 元数据服务
-
计算服务提供元数据服务作为 REST API,可用于检索特定于实例的数据。实例通过
169.254.169.254或fe80::a9fe:a9fe访问此服务。
10.1. 实例元数据的类型 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
云用户、云管理员和计算服务可以将元数据传递给实例:
- 云用户提供的数据
- 云用户可以指定要在启动实例时使用的额外数据,如实例在引导时运行的 shell 脚本。云用户可以使用用户数据功能将数据传递给实例,并在创建或更新实例时以必要属性传递键值对。
- 云管理员提供的数据
RHOSP 管理员使用 vendordata 功能将数据传递给实例。Compute 服务提供 vendordata 模块
StaticJSON和DynamicJSON,以允许管理员将元数据传递给实例:-
StaticJSON:(默认)用于所有实例相同的元数据。 -
DynamicJSON:用于每个实例不同的元数据。此模块向外部 REST 服务发出请求,以确定要添加到实例的元数据。
vendordata 配置位于实例上的以下只读文件中之一:
-
/openstack/{version}/vendor_data.json -
/openstack/{version}/vendor_data2.json
-
- 计算服务提供数据
- 计算服务使用其元数据服务的内部实现将信息传递给实例,如实例请求的主机名,以及实例所在可用区。默认情况下,这不会由云用户或管理员进行配置。