virtualization:lxd:cloud-init

This is an old revision of the document!


Incus Cloud-Init

Cloud-init digunakan untuk konfigurasi instance Incus secara otomatis saat first boot. Konfigurasi utama: User Data, Vendor Data, dan Network Config.

Lokasi data di dalam guest:

/var/lib/cloud/seed/nocloud-net/

Fungsi: buat user, SSH key, akses sudo, hostname, install package, jalankan command.

Lokasi GUI:

Instance → Configuration → Cloud Init → User Data → Override

Wajib diawali

#cloud-config

.

#cloud-config

users:
  - name: ilyasa
    groups: sudo
    shell: /bin/bash
    sudo: ALL=(ALL) NOPASSWD:ALL
    ssh_authorized_keys:
      - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... ilyasa@laptop

Cek setelah boot:

id ilyasa
ssh ilyasa@IP_ADDRESS
#cloud-config

users:
  - name: ilyasa
    groups: sudo
    shell: /bin/bash
    sudo: ALL=(ALL) NOPASSWD:ALL
    ssh_authorized_keys:
      - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... ilyasa@laptop

ssh_pwauth: false

Fungsi: konfigurasi umum/default (timezone, package standar, service umum).

Lokasi GUI:

Instance → Configuration → Cloud Init → Vendor Data → Override

Wajib diawali

#cloud-config

.

#cloud-config

timezone: Asia/Jakarta

package_update: true

packages:
  - openssh-server
  - curl
  - wget
  - vim
  - htop

Fungsi: konfigurasi interface jaringan. Tidak menggunakan

#cloud-config

.

Lokasi GUI:

Instance → Configuration → Cloud Init → Network Config → Override
version: 2
ethernets:
  eth0:
    dhcp4: true
version: 2
ethernets:
  eth0:
    dhcp4: true
    dhcp6: true

Contoh: IP 10.14.3.50/24, Gateway 10.14.3.1, DNS 10.14.3.53 & 1.1.1.1

version: 2
ethernets:
  eth0:
    addresses:
      - 10.14.3.50/24
    routes:
      - to: default
        via: 10.14.3.1
    nameservers:
      addresses:
        - 10.14.3.53
        - 1.1.1.1
version: 2
ethernets:
  eth0:
    addresses:
      - 10.14.3.50/24
    nameservers:
      addresses:
        - 10.14.3.53
version: 2
ethernets:
  eth0:
    addresses:
      - 10.14.3.50/24
      - 10.14.3.51/24
      - 10.14.3.52/24
    routes:
      - to: default
        via: 10.14.3.1
    nameservers:
      addresses:
        - 10.14.3.53
        - 1.1.1.1
version: 2
ethernets:
  eth0:
    addresses:
      - 10.14.3.50/24
      - 2001:db8:10:14::50/64
    routes:
      - to: default
        via: 10.14.3.1
      - to: default
        via: 2001:db8:10:14::1
    nameservers:
      addresses:
        - 10.14.3.53
        - 1.1.1.1
        - 2001:4860:4860::8888
version: 2
ethernets:
  eth0:
    addresses:
      - 10.14.3.50/24
    routes:
      - to: default
        via: 10.14.3.1
      - to: 10.20.0.0/24
        via: 10.14.3.254
      - to: 172.20.22.0/26
        via: 10.14.3.253
    nameservers:
      addresses:
        - 10.14.3.53
        - 1.1.1.1

Cek status:

cloud-init status --long

Cek data yang diberikan Incus:

cd /var/lib/cloud/seed/nocloud-net
ls

Output:

meta-data
network-config
user-data
vendor-data

Cek isi masing-masing:

cat /var/lib/cloud/seed/nocloud-net/user-data
cat /var/lib/cloud/seed/nocloud-net/vendor-data
cat /var/lib/cloud/seed/nocloud-net/network-config
ip addr show eth0
ip route
resolvectl status
  • User Data & Vendor Data harus diawali
    #cloud-config

    .

  • Network Config tidak pakai
    #cloud-config

    .

  • Gunakan image varian
    /cloud

    (sudah support cloud-init).

  • SSH public key diletakkan di
    ssh_authorized_keys

    .

  • Untuk config baru, pakai Network Config v2 (lebih mudah dibaca).
  • Jangan edit manual file di
    /var/lib/cloud/seed/nocloud-net/

    , itu data yang di-generate otomatis oleh Incus.

GUI Field Format Contoh
User Data Cloud-config
#cloud-config

+ YAML

Vendor Data Cloud-config
#cloud-config

+ YAML

Network Config Network-config
version: 2

+ YAML

SSH Key Cloud-config
ssh_authorized_keys
DHCP Network-config
dhcp4: true
Static IP Network-config
addresses

+

routes
  • virtualization/lxd/cloud-init.1790518092.txt.gz
  • Last modified: 2026/10/08 04:33
  • (external edit)