cloud init

更新时间:2026年2月22日 22:29 浏览:99

https://cloudinit.readthedocs.io/en/latest/tutorial/qemu.html

下载并转换镜像

wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
qemu-img convert -f qcow2 -O qcow2 jammy-server-cloudimg-amd64.img s150.qcow2
qemu-img resize s150.qcow2 512G
qemu-img info s150.qcow2

如已有现成的 qcow2 镜像,可跳过

创建 cloud-init 配置

user-data

#cloud-config
user: ubuntu
password: ubuntu
chpasswd: { expire: False }
ssh_pwauth: True

meta-data

instance-id: s150
local-hostname: s150

network-config

version: 2
ethernets:
  eth0:
    dhcp4: false
    addresses: [10.117.11.150/24]
    gateway4: 10.117.11.254
    nameservers:
      addresses: [119.29.29.29]

打包成 cloud-init.iso


# apt install cloud-image-utils

cloud-localds \
  cloud-init.iso \
  user-data \
  meta-data \
  --network-config network-config

# 验证
isoinfo -i cloud-init.iso -l

创建

镜像中已经包含了操作系统的情况

virt-install \
  --name s150 \
  --vcpus 16 \
  --memory 65536 \
  --disk path=/data/kvm/vm/s150/s150.qcow2,size=512,format=qcow2 \
  --disk path=/data/kvm/vm/s150/cloud-init.iso,device=cdrom \
  --import \
  --os-variant ubuntu22.04 \
  --network network=direct,source=bond0,source.mode=bridge,model.type=virtio \
  --noautoconsole \
  --graphics none \
  --console pty,target_type=serial \
  --serial pty \
  --boot hd,cdrom





# VNC
# --graphics vnc,listen=0.0.0.0 \

# --network bridge=br-150 \
# --network network=default \
# --network type=direct,source=bond0,model=virtio \

# virsh destroy s150 && virsh undefine s150
导航