首页 > 其他分享 >packer demo

packer demo

时间:2022-10-08 13:24:11浏览次数:44  
标签:disk9 virtio packer demo -- iso ssh

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  (日志更详细)

标签:disk9,virtio,packer,demo,--,iso,ssh
From: https://www.cnblogs.com/jkklearn/p/16768631.html

相关文章

  • Fairness without Demographics through Adversarially Reweighted Learning
    目录概符号说明本文方法代码LahotiP.,BeutelA.,ChenJ.,LeeK.,ProstF.,ThainN.,WangX.andCHiE.H.Fairnesswithoutdemographicsthroughadversariall......
  • Demo23_or循环与while循环的区别 break与continue的区别
    //for循环与while循环的区别break与continue的区别packagecom.HuanXin.JiBen_JieGou_4;publicclassDemo12_break_continue{publicstaticvoidmain(String[]arg......
  • Demo24_打印三角形
    packagecom.HuanXin.JiBen_JieGou_4;publicclassDemo13_SanJiaoXin{publicstaticvoidmain(String[]args){for(inti=1;i<=5;i++){//总for,i相......
  • Demo22_关于continue
    /continue的理解packagecom.HuanXin.JiBen_JieGou_4;publicclassDemo11_continue{publicstaticvoidmain(String[]args){intA=0;while(A<10......
  • Demo21_关于break
    //break的理解packagecom.HuanXin.JiBen_JieGou_4;publicclassDemo10_break{publicstaticvoidmain(String[]args){for(inti=0;i<100;i++){......
  • Demo20_与数组见一面
    //增强for循环和for循环的区别,输出numbers数组(集合)中的每一个数packagecom.HuanXin.JiBen_JieGou;publicclassDemo09_For_4{publicstaticvoidmain(String[]a......
  • Demo19_for循环嵌套结构
    //打印99乘法表利用for嵌套结构packagecom.HuanXin.JiBen_JieGou;publicclassDemo09_For_3{publicstaticvoidmain(String[]args){for(intA=1;A......
  • Demo15_输出1-100且输出1+2+3+.....+100的值
    //输出1-100的方法,while:就是一个循环结构的语句packagecom.HuanXin.JiBen_JieGou;publicclassDemo07_While{publicstaticvoidmain(String[]args){int......
  • Demo15_输出1-100
    ackagecom.HuanXin.JiBen_JieGou;publicclassDemo07_While1{publicstaticvoidmain(String[]args){//求出1+2+3+4++100=?intA=0;int......
  • Demo16_DoWhile与While的区别
    //DoWhile循环结构特性packagecom.HuanXin.JiBen_JieGou;publicclassDemo08_DoWhile1{publicstaticvoidmain(String[]args){intA=0;while(......