普通镜像 ⇒ 通过 cloud-init 配置
CentOS
针对 CentOS 7.7 版本,我们未找到与之对应的 Cloud Image 镜像。当前已存在很多制作 Cloud Image 的方法,我们决定参考这些文章进行 Cloud Image 的制作;
但是,我们的根本需求并非制作 Cloud Image 镜像,而是克隆虚拟机模板并快速完成初始化配置。我们不希望像以往那样:克隆模板,并登录虚拟机,再进行配置;
所以,这是我们的解决方法:
1)像往常一样,安装 CentOS 7.7 发行版。该系统以后将作为模板,所以可选地安装服务和工具;
2)然后,登录该主机,安装 cloud-init 服务:yum install -y cloud-*
在后续的使用中,我们仅需要克隆该虚拟机,并修改数据源的配置即可。当主机启动时,将由 cloud-init 自动加载数据源的配置;
Ubuntu
Installing and configuring cloud-init on Ubuntu – IBM Documentation
apt-get install cloud-init
systemctl enable cloud-init-local.service
systemctl enable cloud-init.service
systemctl enable cloud-config.service
systemctl enable cloud-final.service
cloud-init clean –logs
reboot
关闭自动升级功能
server – Disable auto update at end of autoinstall/cloud-init – Ask Ubuntu
20.04 – how to disable unattended-upgrades during autoinstall (user-data, cloud-config) – Ask Ubuntu
重新执行 Cloud Init 初始化
openstack – How to re-run cloud-init without reboot – Stack Overflow
cloud-init clean –logs # 建议,当执行该命令后,重启主机。
执行如下命令来手动初始化并非最佳实践
cloud-init init
cloud-init modules –mode=config
cloud-init modules –mode=final