操作场景
cloud-init是用于Linux操作系统在创建弹性云主机过程执行信息初始化的工具,主要支持以下关键能力:
- Linux云主机主机名、用户名、密码等信息的初始化;
- Linux云主机用户数据的注入以及自动化配置。
安装cloud-init
如果您已经参考步骤2完整安装了全量软件,则可以直接配置cloud-init。
如果您未安装cloud-init,请执行下方命令完成安装。
Red Hat系列Linux操作系统使用如下命令
yum install -y cloud-init cloud-utils-growpart
Debian系列Linux操作系统使用如下命令
apt install -y cloud-guest-utils cloud-init
配置cloud-init
- 补充自定义配置文件
# 多个自定义配置文件可能存在针对相同参数的不同配置值,文件名以 zz 开头是期望推荐配置值最终生效。
# 参考:https://github.com/canonical/cloud-init/blob/main/config/cloud.cfg.d/README
cat <<'EOT' >/etc/cloud/cloud.cfg.d/zz_ctims.cfg
datasource:
ConfigDrive:
dsmode: local
OpenStack:
max_wait: 120
metadata_urls: ["http://169.254.169.254"]
retries: 5
timeout: 10
datasource_list: [ ConfigDrive,OpenStack ]
disable_root: false
manage_etc_hosts: localhost
network:
config: disabled
prefer_fqdn_over_hostname: true
preserve_hostname: false
ssh_deletekeys: false
ssh_pwauth: true
system_info:
default_user:
lock_passwd: false
name: root
EOT
- 执行下述命令完成配置:
systemctl enable cloud-config
systemctl enable cloud-final
systemctl enable cloud-init
systemctl enable cloud-init-local