微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Packer 在 VMware vSphere 上构建 Redhat/CentOS 虚拟机

在本文中,我们将逐步介绍在 VMware vSphere 环境中使用 ISO 构建 Redhat Enterprise Linux 7/CentOS 7 VM。Packer对于在云端和本地构建基础镜像非常有用。Packer 是一个开源工具,由HashiCorp开发。HashiCorp 拥有非常著名的工具,如 Vagrant、Consul 和 terraform。如今,克隆和部署是构建 VM 的最便捷方式。在某些情况下,所需版本的 OS 模板可能不存在,您可能需要在 Adhoc 中构建 VM。这就是 Packer 非常方便的地方。如果要自动创建模板,请参阅本文

让我们开始编码新的基础设施。

@H_404_12@下载以下组件:

 

在您的笔记本电脑/台式机上,

1. 创建一个新目录并复制所有下载的组件。RHEL/CentOS ISO 应保持为 0n VMware vSphere 数据存储。

UnixArena - Packer 目录快照

UnixArena – Packer 目录快照

 

2. 打开记事本,粘贴以下内容。根据您的基础结构编辑所有必需的值。在同一目录中将此文件另存为 CentOS7_build.json。

{
  "builders": [
    {
      "type": "vsphere-iso","vcenter_server":      "192.168.2.212","username":            "[email protected]","password":            "test@123","insecure_connection": "true","vm_name": "RHEL-Packer1","notes": "Build via Packer","datacenter": "STACK-BLR","cluster": "UA-CLS","host": "192.168.2.211","datastore": "DATASTORE-BLR","network": "VM Network","resource_pool": "UA-ResPool","guest_os_type": "centos7_64Guest","ssh_username": "root","ssh_password": "server","cpus":             1,"RAM":              1024,"RAM_reserve_all": false,"convert_to_template": false,"disk_controller_type":  "pvscsi","disk_size":        25000,"disk_thin_provisioned": true,"network_card": "vmxnet3","iso_paths": [
        "[DATASTORE-BLR] ISO/centos7_64.iso"
      ],"iso_checksum": "5b61d5b378502e9cba8ba26b6696c92a","iso_checksum_type": "md5","floppy_files": [
        "{{template_dir}}/ks.cfg"
      ],"boot_command": " inst.text inst.ks=hd:fd0:/ks.cfg "
          }
  ]
}

除了 boot_command、networ_card、disk_controller_type 和配置类型之外,您可能需要更新几乎所有字段的值。

 

3. 您需要准备传统的kickstart 文件来定义包选择和其他配置。下载这个适用于 RHEL 7 / CentOS 7 的kickstart 文件。请随时根据我们的需要修改和更新 kickstart 文件

  • 根凭证 - 根/服务器
  • 用户 – admin/admin123

 

4. 这是目录内容的快照。

Packer - RHEL - vSphere VM 构建

Packer – RHEL – vSphere VM 构建

 

5、打开命令提示符——开始——>cmd——>回车。导航到我们为此 VM 构建创建的目录。

Packer VM 构建 - RHEL - CentOS

Packer VM 构建 – RHEL – CentOS

 

6. 使用以下命令触发打包器构建作业。在此阶段,VM 作业正在等待 VM 使用 IP 启动。

C:\Users\lingeswaran.rangasam\Desktop\Redhat-Packer-Test>packer.exe build CentOS7_build.json
vsphere-iso output will be in this color.

==> vsphere-iso: Creating VM...
==> vsphere-iso: Customizing hardware...
==> vsphere-iso: Mount ISO images...
==> vsphere-iso: Creating floppy disk...
    vsphere-iso: copying files flatly from floppy_files
    vsphere-iso: copying file: C:\Users\lingeswaran.rangasam\Desktop\Redhat-Packer-Test/ks.cfg
    vsphere-iso: Done copying files from floppy_files
    vsphere-iso: Collecting paths from floppy_dirs
    vsphere-iso: Resulting paths from floppy_dirs : []
    vsphere-iso: Done copying paths from floppy_dirs
==> vsphere-iso: Uploading created floppy image
==> vsphere-iso: Adding generated Floppy...
==> vsphere-iso: Set boot order temporary...
==> vsphere-iso: Power on VM...
==> vsphere-iso: Waiting 10s for boot...
==> vsphere-iso: Typing boot command...
==> vsphere-iso: Waiting for IP...

 

7. 如果导航到 vCenter 控制台,您可以看到虚拟机可能已创建并打开电源。

VMware VM - 创建 - 开机

VMware VM – 创建 – 开机

 

8. 启动 VM 控制台并观察自动构建。

虚拟机启动 - Packer - vSphere

虚拟机启动 – Packer – VMware vSphere

 

9. VM 正在使用 kickstart 文件开始自动安装。

自动安装 - Packer Build - RHEL

自动安装 – Packer Build – RHEL

 

10. VM 使用 LVM 自动配置所需的文件系统布局。

自动配置 LVM - Packer - RHEL

自动配置 LVM – Packer – RHEL

 

11.这是成功完成VM构建后的packer构建作业结果。

C:\Users\lingeswaran.rangasam\Desktop\Redhat-Packer-Test>packer.exe build CentOS7_build.json
vsphere-iso output will be in this color.

==> vsphere-iso: Creating VM...
==> vsphere-iso: Customizing hardware...
==> vsphere-iso: Mount ISO images...
==> vsphere-iso: Creating floppy disk...
    vsphere-iso: copying files flatly from floppy_files
    vsphere-iso: copying file: C:\Users\lingeswaran.rangasam\Desktop\Redhat-Packer-Test/ks.cfg
    vsphere-iso: Done copying files from floppy_files
    vsphere-iso: Collecting paths from floppy_dirs
    vsphere-iso: Resulting paths from floppy_dirs : []
    vsphere-iso: Done copying paths from floppy_dirs
==> vsphere-iso: Uploading created floppy image
==> vsphere-iso: Adding generated Floppy...
==> vsphere-iso: Set boot order temporary...
==> vsphere-iso: Power on VM...
==> vsphere-iso: Waiting 10s for boot...
==> vsphere-iso: Typing boot command...
==> vsphere-iso: Waiting for IP...
==> vsphere-iso: IP address: 192.168.2.7
==> vsphere-iso: Using ssh communicator to connect: 192.168.2.7
==> vsphere-iso: Waiting for SSH to become available...
==> vsphere-iso: Connected to SSH!
==> vsphere-iso: Shut down VM...
==> vsphere-iso: Deleting Floppy drives...
==> vsphere-iso: Deleting Floppy image...
==> vsphere-iso: Eject CD-ROM drives...
==> vsphere-iso: Clear boot order...
Build 'vsphere-iso' finished.

==> Builds finished. The artifacts of successful builds are:
--> vsphere-iso: RHEL-Packer1

C:\Users\lingeswaran.rangasam\Desktop\Redhat-Packer-Test>

 

12. 登录虚拟机实例,查看状态。

login as: root
[email protected]'s password:
[root@UnixArena ~]#
[root@UnixArena ~]#
[root@UnixArena ~]# df -h
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol06   17G  1.3G   16G   8% /
devtmpfs                       484M     0  484M   0% /dev
tmpfs                          496M     0  496M   0% /dev/shm
tmpfs                          496M  7.1M  489M   2% /run
tmpfs                          496M     0  496M   0% /sys/fs/cgroup
/dev/mapper/VolGroup-LogVol02 1014M   33M  982M   4% /home
/dev/mapper/VolGroup-LogVol01 1014M   33M  982M   4% /tmp
/dev/mapper/VolGroup-LogVol03  2.0G  101M  1.9G   5% /var
/dev/mapper/VolGroup-LogVol04 1014M   36M  979M   4% /var/log
/dev/mapper/VolGroup-LogVol05  509M   26M  483M   6% /var/log/audit
/dev/sda1                      509M  129M  381M  26% /boot
tmpfs                          100M     0  100M   0% /run/user/0
[root@UnixArena ~]# vgs
  VG       #PV #LV #SN Attr   VSize  VFree
  VolGroup   1   7   0 wz--n- 23.91g    0
[root@UnixArena ~]# pvs
  PV         VG       Fmt  Attr PSize  PFree
  /dev/sda2  VolGroup lvm2 a--  23.91g    0
[root@UnixArena ~]# lvs
  LV       VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log cpy%sy                                                                                        nc Convert
  LogVol01 VolGroup -wi-ao----   1.00g                                                                                                                                  
  LogVol02 VolGroup -wi-ao----   1.00g                                                                                                                                  
  LogVol03 VolGroup -wi-ao----   2.00g                                                                                                                                  
  LogVol04 VolGroup -wi-ao----   1.00g                                                                                                                                  
  LogVol05 VolGroup -wi-ao---- 512.00m                                                                                                                                  
  LogVol06 VolGroup -wi-ao----  16.44g                                                                                                                                  
  lv_swap  VolGroup -wi-ao----  <1.97g                                                                                                                                  
[root@UnixArena ~]# which lsof
/usr/sbin/lsof
[root@UnixArena ~]#

 

我们已经成功地使用 ISO 和遗留的 kickstart 文件创建了 VM 并构建了 RHEL7/CentOS7。在接下来的文章中,我们将看到如何使用打包程序制作 VM 模板。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐