创建自定义镜像最佳实践
更新时间:2024-04-12
新建BEC虚拟机实例
1. 登录百度智能云账号
2. 进入BEC控制台,创建BEC虚机实例
创建步骤请参考:https://cloud.baidu.com/doc/BEC/s/4kir7fw0t
3.在BEC控制台创建自定义虚机镜像
创建镜像步骤请参考:https://cloud.baidu.com/doc/BEC/s/bkkmlvq7e
4.Linux操作系统自定义镜像说明
# 清理不必要的安装包,日志文件、临时文件,尽可能减少镜像体积;用户自己决定
.....
# 清理残留网络
# Centos 8.x /BaiduLinux 操作系统的网络配置由network manager接管;需要清理镜像内残留的network网络配置,否则网络配置生效延迟
rm -rf /etc/sysconfig/network-scripts/*
# 清理Yum缓存包
if grep -Eq "CentOS|BaiduLinux" /etc/os-release; then
yum clean all
elif grep -q "Ubuntu" /etc/os-release; then
apt clean all
else
echo "Unknown"
fi
# 清理cloud-init日志
cloud-init clean
# 清空非必要日志
rm -f /var/log/cloud-init.log
rm -f /var/log/cloud-init-output.log
echo > /var/log/messages
echo > /var/log/boot.log
echo > /var/log/dmesg
echo > /var/log/btmp
echo > /var/log/wtmp
rm -rf /opt/bcm-agent/log/*
rm -rf /tmp/*
# 压缩镜像, 剩余空间写0后再删除,后端制作镜像的时候可以进一步压缩减小镜像大小
root_size=$(df -T / | grep -v Filesystem | grep dev | awk '{print $5}')
avalsize=$((${root_size}/(1<<20)))
dd if=/dev/zero of=./zero.img bs=1024M count=${avalsize}
rm -rf ./zero.img
# 清理执行日志
rm -f /root/.bash_history
history -c
5.Windows操作系统自定义镜像说明
# 对系统盘(示例中: C盘)剩余空间写零,适合虚拟磁盘优化,方便后面进行镜像压缩
$ sdelete64.exe -z c: