3.4. 默认的 cloud.cfg 文件

/etc/cloud/cloud.cfg 文件列出了由 cloud-init 基本配置组成的模块。

文件中的模块是 cloud-init 的默认模块。您可以为环境配置模块或删除您不需要的模块。包含在 cloud.cfg 中的模块不一定通过在文件中列出而执行任何操作。如果您希望在 cloud-init 的一个阶段中执行操作,则需要单独配置它们。

cloud.cfg 文件提供运行各个模块的时序。只要红帽支持这些模块,您就可以在 cloud.cfg 中添加额外的模块。

Red Hat Enterprise Linux(RHEL)文件的默认内容如下:

注意
  • 模块按照 cloud.cfg 中给出的顺序运行。您通常不会更改这个顺序。
  • cloud.cfg 指令可以被用户数据覆盖。
  • 当手动运行 cloud-init 时,您可以使用命令行选项覆盖 cloud.cfg
  • 每个模块都有其自身的配置选项,您可以在其中添加特定信息。
users: 1
 - default

disable_root: 1 2
ssh_pwauth:   0 3

mount_default_fields: [~, ~, 'auto', 'defaults,nofail,x-systemd.requires=cloud-init.service', '0', '2'] 4
ssh_deletekeys:   1 5
ssh_genkeytypes: ['rsa', 'ecdsa', 'ed25519'] 6
syslog_fix_perms: ~ 7
disable_vmware_customization: false 8

cloud_init_modules: 9
 - disk_setup
 - migrator
 - bootcmd
 - write-files
 - growpart
 - resizefs
 - set_hostname
 - update_hostname
 - update_etc_hosts
 - rsyslog
 - users-groups
 - ssh

cloud_config_modules: 10
 - mounts
 - locale
 - set-passwords
 - rh_subscription
 - yum-add-repo
 - package-update-upgrade-install
 - timezone
 - puppet
 - chef
 - salt-minion
 - mcollective
 - disable-ec2-metadata
 - runcmd

cloud_final_modules: 11
 - rightscale_userdata
 - scripts-per-once
 - scripts-per-boot
 - scripts-per-instance
 - scripts-user
 - ssh-authkey-fingerprints
 - keys-to-console
 - phone-home
 - final-message
 - power-state-change

system_info:
  default_user: 12
    name: cloud-user
    lock_passwd: true
    gecos: Cloud User
    groups: [adm, systemd-journal]
    sudo: ["ALL=(ALL) NOPASSWD:ALL"]
    shell: /bin/bash
  distro: rhel 13
  paths:
    cloud_dir: /var/lib/cloud 14
    templates_dir: /etc/cloud/templates 15
  ssh_svcname: sshd 16

# vim:syntax=yaml
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 服务的名称