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