在云计算时代,拥有一个精简、安全且可快速部署的操作系统镜像是提升运维效率的关键。RockyLinux作为RHEL的社区替代品,因其稳定性与兼容性,被广泛用于企业级云环境。本文将详细讲解如何从零开始制作适用于主流云平台(如AWS、阿里云、OpenStack等)的RockyLinux云镜像,即使你是Linux新手也能轻松上手。

一、准备工作
在开始之前,请确保你具备以下条件:
一台运行Linux的物理机或虚拟机(建议使用RockyLinux 8/9) root权限或sudo权限 至少10GB可用磁盘空间 网络连接正常二、安装必要工具
我们将使用
virt-builder和
libguestfs-tools来构建和定制镜像。这些工具能帮助我们快速创建基础系统并进行配置。
# 安装EPEL仓库(如果尚未安装)sudo dnf install -y epel-release# 安装构建工具sudo dnf install -y libguestfs-tools virt-install qemu-img cloud-utils# 验证工具是否安装成功virt-builder --list | grep rocky
如果看到类似
rockylinux-8.8或
rockylinux-9.2的输出,说明工具已准备就绪。
三、构建基础镜像
使用
virt-builder命令快速生成一个最小化的RockyLinux镜像:
# 构建RockyLinux 9镜像(可根据需要替换版本)virt-builder rockylinux-9 \ --output ./rocky9-cloud.qcow2 \ --format qcow2 \ --size 10G \ --root-password password:your_root_password \ --hostname rocky-cloud \ --install cloud-init,cloud-utils-growpart
上述命令会创建一个名为
rocky9-cloud.qcow2的qcow2格式镜像,大小为10GB,并预装了
cloud-init——这是实现云平台自动初始化的关键组件。
四、优化镜像以适配云平台
为了让镜像在云环境中正常工作,我们需要做一些关键配置:
启用cloud-init服务:确保系统启动时能接收云平台元数据。 配置SSH允许密码登录(可选):便于调试。 清理临时文件:减小镜像体积。我们可以使用
virt-customize对已有镜像进行修改:
virt-customize -a rocky9-cloud.qcow2 \ --run-command 'systemctl enable cloud-init' \ --run-command 'echo "PermitRootLogin yes" >> /etc/ssh/sshd_config' \ --run-command 'echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config' \ --run-command 'systemctl enable sshd' \ --run-command 'rm -rf /var/log/* /tmp/*'
五、转换镜像格式(按需)
不同云平台支持的镜像格式不同。例如:
AWS 推荐使用 RAW 或 VMDK 阿里云支持 qcow2 和 RAW OpenStack 通常使用 qcow2若需转换为RAW格式:
qemu-img convert -f qcow2 -O raw rocky9-cloud.qcow2 rocky9-cloud.raw
六、上传至云平台
完成镜像制作后,你可以通过各云平台的控制台或CLI工具上传镜像。例如,在阿里云中,可通过“自定义镜像”功能上传;在AWS中,可使用
aws ec2 import-image命令。上传成功后,即可基于该镜像快速创建实例。
总结
通过本教程,你已经掌握了RockyLinux云镜像制作的核心流程。无论是用于自动化部署、CI/CD流水线,还是私有云建设,自定义镜像都能显著提升效率与一致性。记住,关键在于合理配置
cloud-init并遵循各云平台的最佳实践。
希望这篇关于自定义RockyLinux镜像的指南对你有所帮助!如果你正在为云平台RockyLinux部署做准备,不妨动手尝试一下。更多高级技巧(如Packer自动化构建)也值得深入探索。
