Penyediaan Fedora CoreOS di Proxmox VE

Persyaratan

Sebelum menyediakan mesin FCOS di Proxmox VE, Anda harus memiliki berkas konfigurasi Ignition yang berisi kustomisasi Anda. Jika belum memilikinya, lihat Membuat Berkas Ignition.

Anda juga harus memiliki akses ke kluster atau server mandiri Proxmox Virtual Environment (VE) dengan hak administratif untuk membuat VM dan konfigurasi penyimpanan. Semua perintah dijalankan sebagai pengguna root di host Proxmox VE.

Menyiapkan Penyimpanan Proxmox VE

Sebelum menyediakan VM Fedora CoreOS, Anda perlu membuat lokasi penyimpanan khusus untuk citra FCOS dan potongan konfigurasi Ignition.

Membuat Direktori Penyimpanan

Pertama, buat struktur direktori untuk sumber daya Fedora CoreOS:

mkdir -p /var/coreos

Menambahkan Penyimpanan ke Proxmox VE

Tambahkan direktori baru sebagai lokasi penyimpanan Proxmox VE yang dapat menampung citra VM dan potongan konfigurasi:

pvesm add dir coreos --path /var/coreos --content images,snippets

Perintah ini membuat lokasi penyimpanan baru bernama coreos yang dapat digunakan oleh Proxmox VE untuk menyimpan citra disk dan potongan konfigurasi (termasuk berkas Ignition). Untuk detail lebih lanjut mengenai konfigurasi penyimpanan Proxmox VE, lihat dokumentasi Penyimpanan Proxmox VE.

Mengunduh Citra Fedora CoreOS

Fedora CoreOS menyediakan citra siap pakai yang dioptimalkan secara khusus untuk Proxmox VE. Anda dapat mengunduh citra ini menggunakan biner coreos-installer atau melalui wadah (container).

Mengambil Citra QCOW2

Ambil citra terbaru yang sesuai dengan stream target Anda (atau unduh dan verifikasi dari web).

STREAM="stable"
# sebagai biner terinstal:
coreos-installer download -s $STREAM -p proxmoxve -f qcow2.xz --decompress -C /var/coreos
# atau sebagai wadah:
podman run --pull=always --rm -v "/var/coreos/images:/data" -w /data \
    quay.io/coreos/coreos-installer:release download -s $STREAM -p proxmoxve -f qcow2.xz --decompress

Kedua metode ini akan mengunduh citra Fedora CoreOS terbaru untuk stream yang ditentukan (stable, testing, atau next) dalam format QCOW2 yang dioptimalkan untuk Proxmox VE. Citra akan disimpan di direktori /var/coreos/images.

Menyiapkan Konfigurasi Ignition

Unggah berkas konfigurasi Ignition Anda ke direktori snippets:

# Unggah ignition Anda ke /var/coreos/config.ign
scp /path/to/your/config.ign root@proxmoxve-host:/var/coreos/snippets/config.ign

Menyiapkan VM baru

Contoh berikut menunjukkan cara membuat dan mengonfigurasi VM Fedora CoreOS menggunakan alat baris perintah Proxmox VE.

Menetapkan Variabel Konfigurasi

Tentukan parameter VM:

VM_ID=101
NAME=fedora-coreos
QCOW=fedora-coreos-{stable-version}-proxmoxve.x86_64.qcow2
IGN=config.ign
STORAGE=local-lvm
CPU=2
MEMORY=2048
DISK_SIZE=90G

Sesuaikan variabel ini sesuai kebutuhan Anda:

  • VM_ID: Pengidentifikasi unik VM di Proxmox VE

  • NAME: Nama untuk VM

  • QCOW: Nama berkas citra FCOS yang telah diunduh

  • IGN: Nama berkas konfigurasi Ignition Anda

  • STORAGE: Pool penyimpanan target untuk disk VM

  • CPU: Jumlah inti CPU yang dialokasikan

  • MEMORY: Alokasi RAM dalam MB

  • DISK_SIZE: Ruang tambahan disk yang akan dialokasikan

Membuat dan Mengonfigurasi VM

Buat VM dengan konfigurasi yang ditentukan:

# Membuat konfigurasi awal VM
qm create ${VM_ID} --name ${NAME} --cores ${CPU} --memory ${MEMORY} \
    --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci

# Impor citra FCOS sebagai disk utama
qm set ${VM_ID} --scsi0 "${STORAGE}:0,import-from=/var/coreos/images/${QCOW}"

# Ubah ukuran disk untuk menambah ruang tambahan
qm resize ${VM_ID} scsi0 +${DISK_SIZE}

# Tambahkan drive cloud-init untuk pengiriman konfigurasi
qm set ${VM_ID} --ide2 ${STORAGE}:cloudinit

# Atur urutan boot agar menggunakan disk yang diimpor
qm set ${VM_ID} --boot order=scsi0

# Konfigurasikan konsol serial untuk kompatibilitas yang lebih baik
qm set ${VM_ID} --serial0 socket --vga serial0

# Konfigurasikan pengiriman berkas Ignition melalui cloud-init
qm set ${VM_ID} --cicustom vendor=coreos:snippets/${IGN}

# Nonaktifkan pembaruan otomatis selama penyediaan
qm set ${VM_ID} --ciupgrade 0

Konfigurasi Jaringan

Konfigurasi DHCP

Pembuatan VM dasar di atas menggunakan DHCP untuk konfigurasi jaringan, yang sesuai untuk sebagian besar lingkungan di mana penetapan IP dinamis dapat diterima.

Konfigurasi IP Statis

Untuk lingkungan yang memerlukan alamat IP statis, konfigurasikan pengaturan jaringan sebagai berikut:

# Untuk alamat IP statis
IP="192.168.1.100"
IP_CIDR="${IP}/24"
GATEWAY="192.168.1.1"
qm set ${VM_ID} --ipconfig0 ip=${IP_CIDR},gw=${GATEWAY}

Gantilah alamat IP tersebut dengan nilai yang sesuai untuk konfigurasi jaringan Anda.

Melakukan Boot dan Mengakses VM

Memulai VM

Mulai VM dan akses konsolnya:

# Jalankan dan tunggu VM menyala
qm start ${VM_ID}

Menjelajahi OS

You can log into the VM from the host with the following command:

# Akses konsol VM dari host
qm terminal ${VM_ID}

Jika Anda telah mengatur kunci SSH untuk pengguna core default, Anda dapat melakukan SSH ke VM melalui alamat IP-nya.

ssh core@<ip address>

Membersihkan Lingkungan

Untuk tujuan pengujian, Anda dapat dengan mudah menghapus VM:

# Hentikan VM
qm stop ${VM_ID}

# Hapus VM dan penyimpanan terkaitnya
qm destroy ${VM_ID}

Tautan