CentOS7 을 Template으로 만들고 Cloud-init 을 이용하여 VM을 배포 해보고자 한다.
Cloud-init 을 이용하면 Template을 배포하기 전에 User, Password, DNS, SSH Public key, IP Config 등을 미리 설정하고 배포 할 수 있다.
Template으로 만들고자 하는 OS 이미지(CentOS7)로 설치를 진행하고 Template내 포함하고 싶은 사용자 설정등을 완료한다.
Template 제작 관련 참조 : https://ploz.tistory.com/entry/proxmox-CentOS7-Template-%EB%A7%8C%EB%93%A4%EA%B8%B0
Cloud-init 설치
VM에서 Cloud-init 을 설치한다.
yum install cloud-init
Cloudinit Drive 설정
PVE 호스트에서 Cloud-init DATA 전달에 사용할 Cloudinit Drive(cdrom) 를 설정한다.
Size는 4M 정도 이므로 로컬의 local-lvm 에 만든다.
qm set <vmid> --ide2 local-lvm:cloudinit
$ qm set 147 --ide2 local-lvm:cloudinit
update VM 147: -ide2 local-lvm:cloudinit
Logical volume "vm-147-cloudinit" created.
ide2: successfully created disk 'local-lvm:vm-147-cloudinit,media=cdrom'
GUI 상에 이렇게 나타난다.
Boot Order 수정
현재 디스크로 할당된 scsi0으로 부트 순서를 변경한다.
설정은 CLI에서 해도 되고 GUI 에서 해도 된다.
qm set <vmid> --boot order=scsi0
$ qm set 147 --boot order=scsi0
update VM 147: -boot order=scsi0
GUI 상에서는 이렇게 설정한다.
Serial Port 설정
Cloud-Init 이미지의 경우 직렬 콘솔을 구성하고 이를 디스플레이로 사용하는 것이 필요하다.
주의. 만약 아래 설정 때문에 문제가 발생한다면 설정하지 않아도 된다.
qm set <vmid> --serial0 socket --vga serial0
$ qm set 147 --serial0 socket --vga serial0
update VM 147: -serial0 socket -vga serial0
GUI 상에 이렇게 나타난다.
Template 만들기
CLI에서 만들어도 되며 GUI 상에 만들어도 된다.
qm template <vmid>
qm template 147
Template 배포하기
만든 template을 full Clone 하고 만들어진 VM에서 GUI 상 Cloud-init 값을 설정하여 배포한다.
CLI 상에서는
qm set <vmid> --ciuser <vm_user> --cipassword '<vm_user_passwd>' --nameserver <dns_IP> --ipconfig0 '<ip정보>'
qm set 147 --ciuser root --cipassword 'testtest' --nameserver 8.8.8.8 --ipconfig0 'ip=10.10.10.10/24,gw=10.10.10.1'
'가상화 > Proxmox' 카테고리의 다른 글
[Proxmox] program smartctl is using a deprecated SCSI ioctl, please convert it to SG_IO 경고 조치 (1) | 2023.11.22 |
---|---|
[proxmox] HA Fencing (softdog을 이용한 node reboot) (0) | 2023.09.26 |
[proxmox] VM 머신 HA(High Availability) 설정 하기 (0) | 2023.07.04 |
[proxmox] 서로 다른 PBS(Proxmox Backup Server) 에 DataStore 공유 하기 (0) | 2023.06.30 |
[proxmox] qemu guest agent 설치하기 (0) | 2023.06.26 |