Menyediakan Fedora CoreOS di Hetzner

Panduan ini menunjukkan cara menyediakan node Fedora CoreOS (FCOS) baru di Hetzner. Saat ini, Fedora CoreOS belum tersedia sebagai opsi dalam pemilihan sistem operasi di Hetzner. Oleh karena itu, Anda harus terlebih dahulu mengunduh citra disk Fedora CoreOS untuk Hetzner, kemudian membuat snapshot dari citra tersebut di akun Hetzner Anda menggunakan alat hcloud-upload-image, dan akhirnya membuat server dari snapshot tersebut.

Dukungan untuk Fedora CoreOS di Hetzner masih dianggap tahap awal, karena belum menawarkan pengalaman pengguna yang optimal dan bergantung pada alat yang belum secara resmi didukung oleh Hetzner. Lihat isu #1324 untuk detail lebih lanjut.
Alat hcloud-upload-image bukan produk resmi Hetzner Cloud dan Hetzner Cloud tidak memberikan dukungan untuk alat ini. Sebagai alternatif, Anda juga dapat menggunakan packer-plugin-hcloud resmi untuk memasang citra melalui coreos-installer.
Untuk membuat snapshot, alat hcloud-upload-image akan menyediakan server kecil dan menjalankannya dalam mode rescue. Karena server ini hanya sementara, biayanya akan sangat terbatas. Snapshot yang dihasilkan dikenai biaya per GB per bulan. Lihat Backups/Snapshots di dokumentasi Hetzner Cloud. Anda dapat menghapus snapshot ini setelah server berhasil disediakan.

Persyaratan

Fedora CoreOS supports configuring access via SSH keys using Afterburn on this platform. Once you have configured your SSH Key in the platform configuration, you can provision and access Fedora CoreOS instances with the default user core, without using an Ignition config.

We recommend using an Ignition config once you are more familiar with Fedora CoreOS and want to automate the deployment of systems.

You need to have access to a Hetzner account. The examples below use the hcloud command-line tool, the hcloud-upload-image tool and jq as a command-line JSON processor.

Downloading a Hetzner image

Fedora CoreOS dirancang untuk diperbarui secara otomatis, dengan jadwal berbeda untuk setiap aliran (stream). Setelah Anda memilih stream yang relevan, unduh dan verifikasi citra Hetzner terbaru:

ARCH="x86_64"    # or "aarch64"
STREAM="stable"  # or "testing", "next"
coreos-installer download -s "$STREAM" -p hetzner -a "$ARCH" -f raw.xz
Arsitektur x86_64 dan aarch64 sama-sama didukung di Hetzner.

Sebagai alternatif, Anda dapat mengunduh citra Hetzner secara manual dari halaman unduhan. Verifikasikan hasil unduhan mengikuti petunjuk pada halaman tersebut.

Membuat snapshot

  1. Gunakan hcloud-upload-image untuk membuat snapshot dari citra ini:

    IMAGE_NAME="fedora-coreos-41.20250213.0-hetzner.x86_64.raw.xz"
    export HCLOUD_TOKEN="<token Anda>"
    STREAM="stable"     # atau "testing", "next"
    HETZNER_ARCH="x86"  # atau "arm"
    
    hcloud-upload-image upload \
        --architecture "$HETZNER_ARCH" \
        --compression xz \
        --image-path "$IMAGE_NAME" \
        --labels os=fedora-coreos,channel="$STREAM" \
        --description "Fedora CoreOS ($STREAM, $ARCH)"
    Alat hcloud-upload-image menggunakan nama berbeda untuk arsitektur (x86_64x86, aarch64arm).
  2. Tunggu hingga proses selesai dan pastikan Anda memiliki snapshot:

    hcloud image list --type=snapshot --selector=os=fedora-coreos

Menjalankan server

  1. Jika Anda belum memiliki kunci SSH yang diunggah ke Hetzner, Anda dapat mengunggahnya terlebih dahulu:

    Contoh mengunggah kunci SSH ke Hetzner
    SSH_PUBKEY="ssh-ed25519 ..."
    SSH_KEY_NAME="fedora-coreos-hetzner"
    hcloud ssh-key create --name "$SSH_KEY_NAME" --public-key "$SSH_PUBKEY"
  2. Jalankan server. Konfigurasi Ignition Anda dapat diberikan ke VM sebagai user data, atau Anda dapat melewatinya jika hanya ingin akses SSH. Ini memberikan cara mudah untuk mencoba FCOS tanpa terlebih dahulu membuat konfigurasi Ignition.

    Contoh menjalankan FCOS di Hetzner menggunakan file konfigurasi Ignition dan kunci SSH
    IMAGE_ID="$(hcloud image list \
        --type=snapshot \
        --selector=os=fedora-coreos \
        --output json \
        | jq -r '.[0].id')"
    SSH_KEY_NAME="fedora-coreos-hetzner"  # See: hcloud ssh-key list
    DATACENTER="fsn1-dc14"                # See: hcloud datacenter list
    TYPE="cx22"                           # See: hcloud server-type list
    NAME="fedora-coreos-test"
    IGNITION_CONFIG="./config.ign"
    hcloud server create \
        --name "$NAME" \
        --type "$TYPE" \
        --datacenter "$DATACENTER" \
        --image "$IMAGE_ID" \
        --ssh-key "$SSH_KEY_NAME" \
        --user-data-from-file "$IGNITION_CONFIG"
    Meskipun dokumentasi dan situs web Hetzner menyebutkan cloud-init dan “cloud config”, FCOS tidak mendukung cloud-init. FCOS hanya menerima file konfigurasi Ignition.
  3. Sekarang Anda seharusnya dapat melakukan SSH ke dalam instance menggunakan alamat IP yang terkait.

    Contoh Koneksi
    ssh core@"$(hcloud server ip "$NAME")"