2.4. 对 cloud-init 很重要的文件和目录
红帽支持 cloud-init
工具、cloud-init
模块和默认的目录和文件。通过使用目录和文件,您可以执行诸如以下的任务:
-
配置
cloud-init
-
在
cloud-init
运行后找到有关配置的详情 - 检查日志文件
- 查找模板
根据您的要求和数据源,可能会有其它对您的配置很重要的文件和目录。
目录或文件 | 描述 |
---|---|
|
|
|
|
|
当 |
|
|
|
这个目录包括您可以在特定情况下,在 |
|
|
|
|
2.4.1. 默认的 cloud.cfg 文件 复制链接链接已复制到粘贴板!
/etc/cloud/cloud.cfg
文件列出了 cloud-init
的基本配置中包含的模块。这些模块是 cloud-init
的默认模块。您可以根据要求配置或删除模块。
-
要在一个
cloud-init
阶段中执行操作,您需要单独配置每个模块,并在cloud.cfg
文件中列出它们。模块按照cloud.cfg
中给出的顺序运行。您通常不会更改这个顺序。但是,如果红帽支持您要添加的模块,您可以在cloud.cfg
中添加额外的模块。 -
cloud.cfg
指令可以被用户数据覆盖。手动运行cloud-init
时,您可以使用命令行选项覆盖cloud.cfg
。 - 每个模块都有其自身的配置选项,您可以在其中添加特定信息。
-
为确保配置的最佳功能,请使用下带有下划线(
_
)而不是横线(-
)的模块名称。 - Red Hat Enterprise Linux 的文件的默认内容如下:
- 1
- 指定系统的默认用户。详情请参考 用户和组群。
- 2
- 启用或禁用 root 登录。如需更多信息,请参阅认证密钥。
- 3
- 指定
ssh
是否配置为接受密码身份验证。详情请参考设定密码。 - 4
- 配置挂载点 ; 必须是一个包含六个值的列表。详情请参考挂载。
- 5
- 指定是否删除默认主机 SSH 密钥。详情请参考主机密钥。
- 6
- 指定要生成的密钥类型。详情请参考主机密钥。请注意,对于 RHEL 8.4 和更早版本,此行的默认值为
~
。 - 7
cloud-init
在引导过程的多个阶段运行。设置这个选项,以便cloud-init
可以将所有阶段记录到其日志文件中。在usr/share/doc/cloud-init/examples
目录中的cloud-config.txt
文件中查找有关这个选项的更多信息。- 8
- 启用或禁用 VMware vSphere 自定义
- 9
- 本节中的模块是在引导过程早期,在
cloud-init
服务启动时运行的服务。 - 10
- 这些模块在
cloud-init
配置期间运行,在初始引导后运行。 - 11
- 这些模块在配置完成后在
cloud-init
的最终阶段中运行。 - 12
- 指定默认用户的详情。详情请参考用户和组群。
- 13
- 指定发布
- 14
- 指定包含
cloud-init
特定子目录的主目录。如需更多信息,请参阅 目录布局。 - 15
- 指定模板所处的位置
- 16
- SSH 服务的名称
2.4.2. 默认的 cloud.cfg.d 目录 复制链接链接已复制到粘贴板!
cloud-init
遵循您提供和配置的指令。通常,这些指令包含在 cloud.cfg.d
目录中。
虽然您可以通过在 cloud.cfg
文件中添加用户数据指令来配置模块,但基于最佳实践,最好不要修改 cloud.cfg
。将您的指令添加到 /etc/cloud/cloud.cfg.d
目录中。在这个目录中添加指令可方便将来的修改和升级。
有关如何将用户脚本添加为 *.cfg
的详情,请参考 User-Data 格式。
2.4.3. 默认的 05_logging.cfg 文件 复制链接链接已复制到粘贴板!
05_logging.cfg
文件为 cloud-init
设置日志信息和默认的日志记录配置文件。/etc/cloud/cloud.cfg.d
目录包含此文件,以及其他 cloud-init
指令。RHEL 的文件的默认内容如下:
2.4.4. /var/lib/cloud 目录布局 复制链接链接已复制到粘贴板!
当 cloud-init
启动时,它会创建一个带有实例详情和 cloud-init
配置的目录布局。此目录可以包含可选目录,如 /scripts/vendor
。以下是 cloud-init
的目录布局的一个示例: