Tutorial / 10 Jun 2026 00:00 WIB

Automasi Fedora CoreOS via iPXE: Panduan Instalasi Tanpa Pengawasan

P

Tim Redaksi

POPAJA.com

BAGIKAN:
Automasi Fedora CoreOS via iPXE: Panduan Instalasi Tanpa Pengawasan
- Iklan -
Daftar Isi (Klik untuk melihat)

Automasi instalasi sistem operasi adalah langkah krusial bagi siapa pun yang mengelola infrastruktur kontainer dalam skala produksi. Fedora CoreOS hadir sebagai solusi minimalis yang dirancang khusus untuk menjalankan kontainer, dengan fitur auto-update berbasis systemd yang menghilangkan kerumitan pemeliharaan manual. Dalam panduan ini, saya akan memandu Anda melalui proses instalasi tanpa pengawasan (unattended) Fedora CoreOS menggunakan iPXE, mulai dari persiapan file hingga konfigurasi VM di Proxmox VE.

Pengalaman saya selama bertahun-tahun mengelola infrastruktur kontainer membuktikan bahwa memilih distribusi Linux yang tepat bisa menghemat ratusan jam kerja. Awalnya saya menggunakan Alpine Linux karena bobotnya yang ringan dan akses ke versi terbaru Podman. Namun, karena Alpine menggunakan OpenRC, saya tidak bisa memanfaatkan Quadlets — fitur systemd yang memungkinkan Anda menjalankan kontainer sebagai layanan sistem secara native. Konfigurasi layanan rootless di OpenRC membutuhkan waktu lama dan sangat rumit.

- Iklan -

Fedora CoreOS mengubah segalanya. Selain menggunakan systemd, distribusi ini secara otomatis memperbarui dirinya sendiri, sehingga Anda bisa fokus pada pengelolaan kontainer alih-alih mengurus pemeliharaan OS.

Apa Itu Fedora CoreOS dan Mengapa Memilihnya?

Fedora CoreOS adalah distribusi Linux minimalis yang dioptimalkan untuk menjalankan beban kerja terkontainerisasi. Berbeda dengan distro umum seperti Ubuntu atau Fedora Workstation, CoreOS dirancang agar tidak dimodifikasi secara manual — semua konfigurasi dilakukan melalui file deklaratif bernama Ignition.

Keunggulan utama Fedora CoreOS meliputi:

  • Auto-update berbasis Zincati — sistem secara otomatis mengunduh dan mengaplikasikan pembaruan tanpa intervensi manual

    - Iklan -

  • Dukungan systemd dan Quadlets — memungkinkan Anda mendefinisikan kontainer Podman sebagai unit systemd secara native

  • Konfigurasi deklaratif via Ignition — memastikan setiap node memiliki konfigurasi yang konsisten dan dapat direproduksi

  • Read-only root filesystem — meningkatkan keamanan dan mencegah drift konfigurasi

Jika Anda familiar dengan answer file di Windows atau cloud-init di Ubuntu, konsep Ignition pada dasarnya sama: menginstal OS sekaligus mengotomatiskan konfigurasinya melalui file terpisah.

Persiapan File Instalasi Fedora CoreOS

Instalasi Fedora CoreOS yang direkomendasikan melibatkan proses otomatisasi jaringan. Untuk itu, Anda membutuhkan web server yang akan menyajikan file instalasi. Saya pribadi menggunakan Caddy yang berjalan sebagai kontainer, tetapi Anda bisa menggunakan web server apa pun.

Unduh File Netboot

Dari halaman unduhan resmi Fedora CoreOS (fedoraproject.org/coreos/download), Anda perlu mengunduh tiga file berikut:

FileFungsi
Netboot KernelKernel Linux yang di-boot melalui jaringan
Netboot InitramfsFile sistem root sementara untuk proses instalasi awal
Netboot RootfsFile sistem root utama yang akan diinstal ke disk

Ketiga file ini jauh lebih kecil dibandingkan image CD-ROM penuh, sehingga lebih praktis untuk dikirimkan melalui jaringan.

Langkah pertama, buat folder pada container host yang akan digunakan Caddy untuk menyajikan file:

mkdir -p /srv/coreos

Perlu diingat bahwa Fedora secara berkala memperbarui nama file dan URL, jadi Anda perlu menyesuaikan parameter URL setiap kali mengunduh versi baru. Contoh perintah unduhan:

# Sesuaikan URL berdasarkan versi terbaru dari halaman unduhan
curl -LO https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/VERSION/x86_64/fedora-coreos-VERSION-live-kernel-x86_64
curl -LO https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/VERSION/x86_64/fedora-coreos-VERSION-live-initramfs.x86_64.img
curl -LO https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/VERSION/x86_64/fedora-coreos-VERSION-live-rootfs.x86_64.img

Memahami Peran iPXE dalam Proses Instalasi

iPXE adalah firmware jaringan open-source yang memungkinkan komputer melakukan boot dari jaringan (network boot). Dalam konteks instalasi CoreOS, iPXE bertindak sebagai orchestrator yang mengunduh kernel, initramfs, rootfs, serta file Ignition dari web server Anda.

Alur kerjanya adalah sebagai berikut:

  1. VM dinyalakan dan memuat firmware iPXE

  2. iPXE menghubungi web server untuk mengambil file instruksi

  3. Berdasarkan instruksi, iPXE mengunduh kernel dan initramfs

  4. Kernel dijalankan dengan parameter yang menyertakan URL file Ignition

  5. Installer CoreOS mempartisi disk, menulis sistem operasi, dan menerapkan konfigurasi Ignition

  6. VM reboot dan langsung boot dari hard drive

Konfigurasi VM di Proxmox VE

Saat membuat VM untuk instalasi CoreOS, perhatikan beberapa hal penting terkait urutan boot dan BIOS setting:

  • Setelah instalasi selesai, VM harus boot dari hard drive, jadi pastikan urutan boot adalah: hard drive terlebih dahulu, kemudian network card

  • Gunakan BIOS SeaBIOS (default) jika Anda menginginkan solusi otomasi yang sederhana

  • Hindari UEFI karena membutuhkan EFI disk yang tidak mendukung boot dari jaringan secara langsung

Jika Anda tetap harus menggunakan UEFI, alurnya menjadi lebih rumit: lepas EFI disk → boot dari jaringan → instal OS → matikan VM → pasang kembali EFI disk → nyalakan kembali. Meskipun bisa diotomasi, ini menambah kompleksitas yang tidak perlu.

Buat File iPXE untuk Setiap Node

Setiap komputer membutuhkan file Ignition-nya sendiri, dan saya menemukan bahwa pendekatan paling stabil adalah membuat file iPXE terpisah untuk setiap node. Contoh file untuk server bernama srv1:

#!ipxe
set base-url http://YOUR_SERVER_IP/coreos
kernel ${base-url}/vmlinuz coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://YOUR_SERVER_IP/coreos/ignition/srv1.ign coreos.inst.platform_id=qemu console=ttyS0
initrd ${base-url}/initrd.img
initrd ${base-url}/rootfs.img
boot

Catatan penting:

  • Pastikan nama drive (/dev/sda) sesuai dengan konfigurasi hardware Anda

  • Parameter coreos.inst.platform_id bisa disesuaikan (qemu, aws, azure, dll.)

  • Proses iPXE ini tidak menggunakan TLS karena membutuhkan custom firmware untuk mempercayai Root CA pribadi

Menyiapkan File Ignition untuk Konfigurasi Otomatis

Ignition adalah jantung dari automasi CoreOS. File ini mendefinisikan semua konfigurasi yang diterapkan selama boot pertama: partisi disk, user, layanan systemd, dan kontainer Podman.

Umumnya, Anda akan membuat file dalam format Butane (YAML yang lebih mudah dibaca), lalu mengonversinya ke format Ignition (JSON). Contoh konversi sederhana:

butane --pretty --strict config.bu -o config.ign

Pastikan setiap node memiliki file Ignition yang sesuai dan dapat diakses melalui web server.

Kesimpulan

Fedora CoreOS dengan iPXE menawarkan solusi instalasi tanpa pengawasan yang andal untuk infrastruktur kontainer. Dengan kombinasi systemd, auto-update, dan konfigurasi deklaratif Ignition, Anda bisa membangun cluster kontainer yang konsisten dan mudah direproduksi. Kunci keberhasilannya terletak pada kesederhanaan: gunakan SeaBIOS, buat file iPXE terpisah untuk setiap node, dan pastikan semua file instalasi tersedia di web server sebelum memulai deployment.

FAQ

Apa perbedaan antara Ignition dan cloud-init?

Ignition hanya berjalan sekali saat boot pertama dan menggunakan format JSON, sementara cloud-init bisa berjalan berulang kali dan mendukung modul tambahan. Ignition lebih cocok untuk sistem immutable seperti Fedora CoreOS karena memastikan konfigurasi konsisten sejak awal.

Bisakah saya menggunakan Fedora CoreOS tanpa iPXE?

Bisa. Anda bisa menginstal CoreOS dari media USB atau menggunakan image disk langsung. Namun, iPXE adalah metode yang direkomendasikan untuk deployment di lingkungan produksi karena mendukung instalasi massal tanpa intervensi fisik.

Mengapa tidak menggunakan UEFI untuk instalasi CoreOS?

UEFI membutuhkan EFI disk yang tidak mendukung boot dari jaringan secara langsung. Ini menambah langkah manual (melepas dan memasang EFI disk) yang mengurangi efisiensi automasi. SeaBIOS menyediakan alur yang lebih sederhana dan langsung mendukung iPXE.

Bagaimana cara memperbarui Fedora CoreOS setelah instalasi?

Fedora CoreOS menggunakan Zincati dan Cincinnati untuk pembaruan otomatis. Secara default, sistem akan mengunduh dan mengaplikasikan update secara berkala tanpa intervensi manual. Anda bisa mengontrol jadwal update melalui konfigurasi Zincati di file Ignition.

- Iklan -