본문 바로가기

가상화/Proxmox

[proxmox] Cloud-init Template으로 배포하기

반응형

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

 

[proxmox] CentOS7 Template 만들기(수동, 자동)

사용자가 정의 할수 있는 설정 값이나 어플리케이션 설치 후에 아래 과정을 진행한다. 특별히 구성할 설정이 없다면 CentOS 설치 후에 바로 진행해도 상관 없다. 방법은 수동과 자동으로 나뉜다.

ploz.tistory.com

 

 

 

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'
반응형