Penyediaan Fedora CoreOS di VirtualBox

Panduan ini menunjukkan cara menyediakan node Fedora CoreOS (FCOS) baru di hypervisor VirtualBox.

Persyaratan

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

Fedora CoreOS memiliki pengguna bawaan bernama core yang dapat digunakan untuk menjelajahi sistem operasi. Jika Anda ingin menggunakannya, selesaikan [konfigurasinya](xref:authentication.adoc) dengan menambahkan, misalnya, kunci SSH.

Mengunduh OVA

Fedora CoreOS dirancang agar diperbarui secara otomatis, dengan jadwal berbeda untuk setiap stream. Setelah Anda memilih stream yang relevan, Anda dapat mengunduh OVA terbaru:

STREAM="stable"
coreos-installer download -s $STREAM -p virtualbox -f ova

Sebagai alternatif, citra OVA dapat diunduh secara manual dari [halaman unduhan](https://fedoraproject.org/coreos/download/?stream=stable#baremetal).

Menjalankan VM baru di VirtualBox

Anda dapat menyiapkan mesin virtual VirtualBox melalui GUI atau melalui VBoxManage CLI. Panduan ini akan menggunakan CLI untuk menyiapkan VM.

Mengimpor OVA

Untuk mengimpor OVA, gunakan VBoxManage import:

VM_NAME=my-instance
VBoxManage import --vsys 0 --vmname "$VM_NAME" fedora-coreos-43.20251120.3.0-virtualbox.x86_64.ova

Mengatur konfigurasi Ignition

Ignition membaca konfigurasinya dari properti /Ignition/Config guest property mesin virtual. Saat ini, properti guest hanya dapat diatur dari baris perintah host dan tidak melalui GUI. Untuk menyetel konfigurasi Ignition pada VM:

IGN_PATH="/path/to/config.ign"
VM_NAME=my-instance
VBoxManage guestproperty set "$VM_NAME" /Ignition/Config "$(cat $IGN_PATH)"

Batas ukuran konfigurasi Ignition

Panjang properti guestinfo /Ignition/Config dibatasi oleh panjang maksimum baris perintah pada sistem operasi host Anda. Batas spesifik sistem operasi kira-kira sebagai berikut:

OS

Batas

Linux

128 KiB

macOS

256 KiB

Windows shells

8 KiB

Jika konfigurasi Ignition Anda lebih besar dari batas ini, Anda dapat menempatkan konfigurasi tersebut di server HTTPS dan merujuknya dari pointer config kecil seperti berikut:

  1. Unggah konfigurasi Ignition Anda ke server HTTPS.

  2. Buat berkas Butane pointer config yang menentukan URL konfigurasi Ignition lengkap Anda:

    variant: fcos
    version: 1.6.0
    ignition:
      config:
        replace:
          source: https://example.com/config.ign
  3. Gunakan Butane untuk mengonversi konfigurasi Butane menjadi konfigurasi Ignition.

  4. Atur properti /Ignition/Config dari guest ke isi konfigurasi Ignition pointer, mengikuti petunjuk di [_setting_the_ignition_config].

Mengonfigurasi jaringan

Secara default, VM akan menggunakan jaringan NAT. Ini akan membagikan alamat IP host Anda. Sebagai alternatif, jika Anda ingin VM menggunakan alamat IP yang berbeda dari host Anda, Anda dapat menyetel adaptor jaringan VM ke "Bridged networking".

Jaringan NAT

Secara default, jaringan NAT tidak mengizinkan koneksi masuk ke VM. Untuk mengizinkan koneksi SSH masuk, Anda dapat meneruskan koneksi ke port, misalnya 2222 di host, ke server SSH di VM:

VM_NAME=my-instance
VBoxManage modifyvm "$VM_NAME" --natpf1 "guestssh,tcp,,2222,,22"

Setelah menyalakan VM, Anda dapat melakukan SSH ke VM dari host Anda:

ssh core@localhost -p 2222

Jaringan bridged

Jika Anda ingin VM menggunakan alamat IP yang berbeda dari host Anda, Anda dapat menyetel adaptor jaringan VM ke "Bridged networking".

  1. Tentukan adaptor jaringan yang akan di-bridge ke VM. Untuk mendapatkan nama adaptor jaringan default host Anda, jalankan perintah berikut:

    ip route ls default | grep -Po '(?<= dev )(\S+)'
  2. Ubah pengaturan adaptor jaringan VM:

    VM_NAME=my-instance
    ADAPTER=adapter-name
    VBoxManage modifyvm "$VM_NAME" --nic1 bridged --bridgeadapter1 "$ADAPTER"

Memulai VM

Sekarang Anda dapat menyalakan VM yang telah dikonfigurasi:

VM_NAME=my-instance
VBoxManage startvm "$VM_NAME"

Pemecahan masalah saat boot pertama

Anda mungkin mengalami masalah dengan konfigurasi Ignition Anda yang memerlukan akses ke pesan log konsol yang muncul selama boot pertama. Untuk mendapatkan salinan log konsol, Anda dapat menambahkan perangkat serial ke VM sebelum menyalakannya.

Untuk menambahkan perangkat serial ke VM yang sedang dalam keadaan mati:

VM_NAME=my-instance
VM_LOG=$(realpath .)/$VM_NAME.log
VBoxManage modifyvm "$VM_NAME" --uart1 0x3F8 4
VBoxManage modifyvm "$VM_NAME" --uartmode1 file "$VM_LOG"

Saat Anda menyalakan VM, output konsol akan dicatat ke dalam berkas yang telah Anda tentukan.