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: true 2
resize_rootfs_tmp: /dev
ssh_pwauth:   false 3

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

cloud_init_modules: 9
  - migrator
  - seed_random
  - bootcmd
  - write_files
  - growpart
  - resizefs
  - disk_setup
  - mounts
  - set_hostname
  - update_hostname
  - update_etc_hosts
  - ca_certs
  - rsyslog
  - users_groups
  - ssh

cloud_config_modules: 10
  - ssh_import_id
  - locale
  - set_passwords
  - rh_subscription
  - spacewalk
  - yum_add_repo
  - ntp
  - timezone
  - disable_ec2_metadata
  - runcmd

cloud_final_modules: 11
  - package_update_upgrade_install
  - write_files_deferred
  - puppet
  - chef
  - ansible
  - mcollective
  - salt_minion
  - reset_rmc
  - rightscale_userdata
  - scripts_vendor
  - scripts_per_once
  - scripts_per_boot
  - scripts_per_instance
  - scripts_user
  - ssh_authkey_fingerprints
  - keys_to_console
  - install_hotplug
  - 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
   network:
    renderers: ['sysconfig', 'eni', 'netplan', 'network-manager', 'networkd']
  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 服务的名称

其它资源