Skip to content
4월 4, 2025chattiboyubuntu 22.04

ubuntu22.04 autoinstall

image 3

kvm에서 vm생성하는 방법으로 직접 생성하는방법, vagrant, 생성된 vm clone 등 방법이 있는데,
말그대로 autoinstall방법이 있는지 궁금했다.

https://blog.encicle.com/ubuntu-2004-cloud-initeul-tonghan-custom-iso-seolchi-jadonghwa-autoinstall

위 사이트를 찾긴했는데 생략된 부분도 있고 잘 안되서 좀더 찾아보았다.

https://canonical-subiquity.readthedocs-hosted.com/en/latest/reference/autoinstall-reference.html#ai

공식 가이드가 있긴한데 hands-on이 쉽지는 않다. 그래서 좀더 찾다가 스크립트를 찾게되었다.

https://github.com/condensereality/ubuntu-22.04-autoinstall-generator

이게 현재 가장 사용하기 쉬운 방법 같다. (스크립트를 분석하면 역으로 실행 방식을 찾을수 있긴하겠으나…굳이…)

ubuntu22.04 autoinstall Quick Start

preinstall

apt install p7zip-full isolinux -y

Pull ISO Image

$ wget -P ~/ https://releases.ubuntu.com/22.04/ubuntu-22.04.5-live-server-amd64.iso

git clone

$ git clone https://github.com/condensereality/ubuntu-22.04-autoinstall-generator
$ cd ubuntu-22.04-autoinstall-generator

접속 비밀번호 생성

$ openssl passwd -6 '비밀번호'
# 출력된값을 user-data에서 사용

user-data설정 샘플

$ vi user-data
#cloud-config
autoinstall:
  version: 1
  identity:
    hostname: ubuntu-server
    password: "위에서출력된 비밀번호값"
    username: ubuntu

meta-data파일생성

데이터는 비어있어도 되지만 파일은 필요하다.

$ touch meta-data

ISO Image Build

# -s 이미지는 다운 받아놓아야하고 
# -m meta-data는 비어있어도됨
# -u user-data는 필요하고 내용채울것.
# -d 출력결과
$ ./ubuntu-autoinstall-generator.sh   -a -k  -u ./user-data   -m ./meta-data   -s ~/ubuntu-22.04.5-live-server-amd64.iso   -d ubuntu-22.04-autoinstall.iso

vm 생성

image 3

생성을 누르면 알아서 진행된다.

image 4

완료된 결과

image 6

Network Interface

dhcp설정으로 자동으로 ip를 받게하고 정적으로 dns설정을 해야한다면 아래 템플릿을 이용할 수 있다.

#cloud-config
autoinstall:
  version: 1
  identity:
    hostname: ubuntu-autoins
    # openssl passwd -6 '비밀번호'
    password: "password"
    username: ubuntu

  ssh:
    install-server: true
    allow-pw: true

  network:
    version: 2
    ethernets:
      primary:
        match:
          name: "en*"
        dhcp4: true
        dhcp6: false
        nameservers:
          addresses:
            - 8.8.8.8
        routes:
          - to: 0.0.0.0/0
            via: 192.168.0.1

  late-commands:
    - systemctl poweroff

Disk

Disk 수동 확장

disk크기를 100GB로 부여하고 autoinstall을 하면 disk를 전부사용하지 않고 있는 것을 확인 할수 있다.

image

lv 타입으로 생성된경우 vm내부에서 아래 명령어로 확장할수 있다.

sudo lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
f6ojPuWa image 1

Leave a comment