安装cloudbase-init
安装cloud-init(Linux)
cloud-init 主要提供实例首次初始化时自定义配置(例:设置主机名)。
目前支持安装cloud-init的Linux发行版包括CentOS、Ubuntu、Debian、openSUSE。
如果您的镜像中没有安装cloud-init,请采用以下方式进行安装。
注意:建议您在做如下操作前对系统创建快照或者镜像备份,以便在出现意外错误时可以恢复系统。
下载及安装cloud-init工具
- 下载cloud-init安装包
根据不同的操作系统版本,从如下链接下载安装包到服务器上。
Ubuntu
Ubuntu 22.04: cloud-init_18.5.4.4-1-u22.deb
Ubuntu 20.04: cloud-init_18.5.4.4-0-u20.deb
Ubuntu 18.04: cloud-init_18.5.4.4-0-u18.deb
Ubuntu 16.04: cloud-init_18.5.4.4-0-u16.deb
CentOS
Rocky Linux 9/AlmaLinux 9/CentOS Stream 9: cloud-init-18.5.4.4-1.el9.x86_64.rpm
CentOS 8/Rocky Linux 8/AlmaLinux 8/Centos Stream 8: cloud-init-18.5.4.4-1.el8.x86_64.rpm
CentOS 7: cloud-init-18.5.4.4-1.el7.x86_64.rpm
Debian
Debian 12: cloud-init_18.5.4.4-1-deb12.deb
Debian 10/11: cloud-init_18.5.4.4-0-deb10.deb
Debian 9: cloud-init_18.5.4.4-0-deb9.deb
openSUSE
openSUSE 15.2: cloud-init-18.5.4.1-1-opensuse152.x86_64.rpm
- 安装
Ubuntu及Debian安装
如果已经安装了当前版本或更高版本,重新安装前需要先卸载cloud-init,卸载命令:
apt-get --purge remove cloud-init
执行安装命令:
dpkg -i cloud-init_xxxxxx.deb
CentOS及openSUSE安装
如果已经安装了当前版本或更高版本,重新安装前需要先卸载cloud-init,卸载命令:
rpm -e cloud-init
执行安装命令:
rpm -i cloud-init-xxxxxx.rpm
配置cloud-init
根据不同操作系统,从以下链接下载 cloud_xxxxx.cfg到服务器上,替换掉/etc/cloud/cloud.cfg文件。
下载后执行cp cloud-xxxxx.cfg /etc/cloud/cloud.cfg
即可。
安装cloudbase-init(Windows)
安装cloudbase-init后,重启实例会触发一次密码重置。创建实例时如果设置了密码,则会重置为该密码;如果没有设置密码,则会重置为随机密码。用户可通过控制台再次重置成新密码。
一键安装(推荐)
打开cmd命令窗口,运行以下命令:
powershell "IEX (New-Object Net.WebClient).DownloadString('http://mirrors.baidubce.com/baidu/windows/cloudbase-init/Cloudbase-Init-Install.ps1')"
手动安装cloudbase-init
- 下载[CloudbaseInit.zip]到您的windows实例中,执行安装过程。
- 需要将Username修改为:Administrator,并勾选上Use metadata password 和 Run Cloudbase-Init serveice as LocalSystem
- 安装完成时,不要勾选下图所示的选项(默认不选择)。
- 下载[Cloudbase-Init-Patch.zip]到您的windows实例中,解压后将Cloudbase-Init文件夹复制到C:\Program Files\Cloudbase Solutions下,覆盖原有文件夹。
- 检查注册表HKLM\SOFTWARE\Cloudbase Solutions\Cloudbase-Init\{vm uuid}\Plugins下的各键值是否和下图一致,如有不一致的改成下图中的值。
其中rebuild_version的值需要查询metadata服务器,在您的windows实例中打开链接http://169.254.169.254/openstack/latest/meta_data.json