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:
- default
disable_root: true
resize_rootfs_tmp: /dev
ssh_pwauth: false
mount_default_fields: [~, ~, 'auto', 'defaults,nofail,x-systemd.requires=cloud-init.service', '0', '2']
ssh_deletekeys: true
ssh_genkeytypes: ['rsa', 'ecdsa', 'ed25519']
syslog_fix_perms: ~
disable_vmware_customization: false
cloud_init_modules:
- 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:
- ssh_import_id
- locale
- set_passwords
- rh_subscription
- spacewalk
- yum_add_repo
- ntp
- timezone
- disable_ec2_metadata
- runcmd
cloud_final_modules:
- 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:
name: cloud-user
lock_passwd: true
gecos: Cloud User
groups: [adm, systemd-journal]
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
shell: /bin/bash
distro: rhel
network:
renderers: ['sysconfig', 'eni', 'netplan', 'network-manager', 'networkd']
paths:
cloud_dir: /var/lib/cloud
templates_dir: /etc/cloud/templates
ssh_svcname: sshd
# 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 服务的名称