2.2. cloud-init 的数据源类型
数据源是用户数据和元数据形式的 cloud-init
的配置数据的源。元数据具有由认证的云服务提供商(token)创建的配置驱动。cloud-init
使用用户数据和元数据配置数据源,以及可选的厂商数据。如果您需要验证厂商数据是否可用:
grep -i "vendor data" /var/log/cloud-init.log
# grep -i "vendor data" /var/log/cloud-init.log
对于数据源,有三种类型的配置数据:用户数据、元数据和厂商数据。
-
用户数据包括
cloud.cfg
文件和cloud.cfg.d
目录中指定的指令。例如,用户数据可以包含要运行的文件、要安装的软件包和 shell 脚本。有关cloud-init
允许的用户数据类型的信息,请参阅cloud-init
文档部分 User-Data 格式。 -
元数据包括与特定数据源关联的数据。例如,元数据可以包含服务器名称和实例 ID。如果您使用特定的云平台,CCSP 决定您的实例可以在哪里找到用户数据和元数据。将用户数据和元数据添加到 HTTP 服务后。在这种情况下,当
cloud-init
运行时,它会消费来自 HTTP 服务的用户数据和元数据。 -
供应商数据由机构(例如云提供商)可选择地提供,并包含可自定义镜像以更好地适应镜像运行的环境的信息。在读取任何元数据并初始化系统后,
cloud-init
对可选的厂商数据和用户数据进行操作。默认情况下,厂商数据会在第一次引导时运行。您可以禁用厂商数据执行。
默认情况下,cloud-init
会自动标识现有的数据源。cloud-init
尝试使用脚本 ds-identify
来识别云平台。该脚本在一个实例第一次引导时运行。添加自定义数据源指令可在 cloud-init
运行时节省时间。您可以在 /etc/cloud/cloud.cfg
文件中或者在 /etc/cloud/cloud.cfg.d
目录中添加该指令。在 cloud-init
运行后,您可以查看日志文件(run/cloud-init/ds-identify.log
),其中提供有关平台的详细信息。有关 datasource_list
的详细信息,请检查 自定义数据源。
有关为 CCSP 配置数据源的详情,请参考: