packer demo
ks 应答文件demo
install text reboot lang en_US.UTF-8 keyboard us timezone --utc Etc/UTC rootpw --plaintext 'kangwen12#$' zerombr autopart --type=plain --fstype=ext4 bootloader --location=mbr clearpart --all --initlabel %packages @core %end %post --erroronfail sed -i 's/PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config sed -i 's/PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config %end
基于ISO 安装的一个 packer 配置文件
{ "builders": [ { "type": "qemu", "qemu_binary": "qemu-kvm", "iso_url": "/disk9/jinkangkang/CentOS-7-x86_64-Minimal-2009.iso", "iso_checksum": "md5:a4711c4fa6a1fb32bd555fae8d885b12", "output_directory": "tmpkw", "shutdown_command": "sudo -S shutdown -P now", "disk_size": "5000M", "format": "qcow2", "accelerator": "kvm", "http_directory": "ks", "ssh_username": "root", "ssh_password": "kangwen12#$", "ssh_timeout": "20m", "vm_name": "tdhtest", "net_device": "virtio-net", "disk_interface": "virtio", "boot_wait": "10s", "vnc_bind_address": "0.0.0.0", "boot_command": [ "<tab> inst.text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/ks.cfg<enter><wait>" ], "qemuargs": [ [ "-display", "none" ] ] } ], "provisioners": [ { "type": "shell", "scripts": [ "/disk9/jinkangkang/kw/test.sh" ] } ] }
基与一个原有镜像构建的模板
{ "builders": [ { "type": "qemu", "qemu_binary": "qemu-kvm", "iso_url": "/disk9/jinkangkang/CentOS-7-x86_64-Minimal-2009.iso", "iso_checksum": "md5:a4711c4fa6a1fb32bd555fae8d885b12", "shutdown_command": "sudo -S shutdown -P now", "accelerator": "kvm", "http_directory": "ks", "ssh_username": "root", "ssh_password": "kangwen12#$", "ssh_timeout": "20m", "vm_name": "kw2", "net_device": "virtio-net", "disk_interface": "virtio", "boot_wait": "10s", "vnc_bind_address": "0.0.0.0", "qemuargs": [ [ "-display", "none" ], [ "-drive", "file=/disk9/jinkangkang/kw/kwbase.qcow2,if=none,id=drive-virtio-disk0,format=qcow2" ], [ "-device", "virtio-blk-pci,scsi=off,num-queues=1,x-data-plane=off,vectors=2,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1" ] ] } ], "provisioners": [ { "type": "shell", "scripts": [ "/disk9/jinkangkang/kw/test2.sh" ] } ] }
上面的 /disk9/jinkangkang/kw/kwbase.qcow2 就是原有镜像,"ssh_password": "kangwen12#$", 是镜像的密码
构建命令:
sudo ./packer build packer.json
sudo PACKER_LOG=1 ./packer build packer.json (日志更详细)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)