您的位置:首页 > 运维架构 > Linux

制作centos6.5 镜像,安装cloud-init 支持openstack 密码注入

2016-10-28 16:24 701 查看


Centos7 直接yum安装cloud-init 即可




Steps to create a CentOS image

Use virt-manager to install CentOS with a small disk (I used one of 10 GB) and do aminimal install, make special note of the name as it will be used later, for this guide the name chosen iscentos-6.5. Also, during installation
you need to create only one partition for / in ext4 format (this means, no lvm, no swap, etc.)
Alternatively you could do something like:

<code>$ qemu-img create -f qcow2 /tmp/centos-6.5-working.qcow2 10G
$ virt-install --virt-type kvm --name centos-6.5 --ram 1024 \
--cdrom=/tmp/CentOS-6.5-x86_64-minimal.iso \
--disk /tmp/centos-6.5-working.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=rhel6
</code>

After install, reboot the vm and log in as root.
Modify /etc/sysconfig/network-scripts/ifcfg-eth0 so it looks like the following (the important bits are: no mac defined and bootproto dhcp):
<code>TYPE=Ethernet
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=no
</code>

Install the EPEL repository
<code>$ yum install -y http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm </code>

Update the system
<code>$ yum -y distro-sync
</code>

Install cloud-init packages and git (this one is required to install linux rootfs resize)
<code>yum install -y cloud-utils cloud-init parted git
</code>

Install linux rootfs resize
<code>cd /tmp
git clone https://github.com/flegmatik/linux-rootfs-resize.git cd linux-rootfs-resize
./install
</code>

Edit /etc/cloud/cloud.cfg and under cloud_init_modules add:
<code>  - resolv-conf
</code>

Add the following line to /etc/sysconfig/network (this is to avoid problems accessing the EC2 metadata service)
<code>NOZEROCONF=yes
</code>

Poweroff the vm
<code>$ poweroff
</code>

Reset and clean the image so it can be reused without issues
<code>$ virt-sysprep -d centos-6.5
</code>

Reduce image size by zero-in unused blocks in the virtual disk (Run as root to avoid issues changing selinux context on the final step)
<code>$ virt-sparsify --compress /tmp/centos-6.5-working.qcow2 centos-6.5-cloud.qcow2
</code>


You're done!

The image centos-6.5-cloud.qcow2 is ready to be uploaded to Openstack.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: