Memulai dengan Fedora CoreOS

Pendahuluan

Stream

Ada tiga stream pembaruan Fedora CoreOS (FCOS) yang tersedia: stable, testing, dan next. Secara umum, Anda sebaiknya menggunakan stable, tetapi disarankan untuk menjalankan beberapa mesin pada testing dan next juga dan memberikan umpan balik.

Setiap stream memiliki URL kanonik yang mewakili statusnya saat ini dalam format JSON, yang dikenal sebagai "metadata stream". Sebagai contoh, URL metadata stream untuk stable adalah: https://builds.coreos.fedoraproject.org/streams/stable.json

Untuk mengotomatisasi instalasi Fedora CoreOS, Anda diharapkan berinteraksi dengan metadata streaming. Meskipun Fedora CoreOS melakukan pembaruan otomatis di tempat, secara umum disarankan untuk memulai penyediaan mesin baru dari citra terbaru.

Untuk informasi lebih lanjut tentang penggunaan metadata aliran, lihat Stream Metadata. Untuk informasi lebih lanjut mengenai aliran yang tersedia, lihat Pembaruan Aliran.

Filosofi Penyediaan

Fedora CoreOS tidak memiliki disk instalasi yang terpisah. Sebaliknya, setiap instalasinya dimulai dari image disk generik yang dikustomisasi pada boot pertama melalui Ignition.

Setiap platform memiliki logika khusus untuk mengambil dan menerapkan konfigurasi boot pertama. Untuk penerapan cloud, Ignition mengumpulkan konfigurasi melalui mekanisme data pengguna. Dalam kasus bare metal, Ignition dapat mengambil konfigurasinya dari disk atau dari sumber jarak jauh.

Untuk informasi lebih lanjut mengenai konfigurasi, lihat dokumentasi untuk Memproduksi Berkas Pengapian.

Mulai cepat

Mem-boot pada VM awan (contoh AWS)

Instance AWS baru dapat langsung dibuat dari citra publik FCOS. Anda dapat menemukan AMI terbaru untuk setiap wilayah di halaman unduhan.

Jika Anda hanya tertarik untuk menjelajahi FCOS tanpa melakukan kustomisasi lebih lanjut, Anda dapat menggunakan pasangan kunci SSH yang terdaftar untuk pengguna default core.

Untuk mencoba FCOS dengan cara ini, Anda perlu menjalankan perintah aws ec2 run-instances dan memberikan beberapa informasi agar instance dapat berjalan. Berikut ini contoh perintah yang dapat digunakan:

Menjalankan Instance Baru
NAME='instance1'
SSHKEY='my-key'     # nama kunci SSH Anda: `aws ec2 describe-key-pairs`
IMAGE='ami-xxx'     # ID AMI yang ditemukan di halaman unduhan
DISK='20'           # ukuran hard disk
REGION='us-east-1'  # wilayah target
TYPE='m5.large'     # tipe instance
SUBNET='subnet-xxx' # subnet: `aws ec2 describe-subnets`
SECURITY_GROUPS='sg-xx' # grup keamanan: `aws ec2 describe-security-groups`
aws ec2 run-instances                     \
    --region $REGION                      \
    --image-id $IMAGE                     \
    --instance-type $TYPE                 \
    --key-name $SSHKEY                    \
    --subnet-id $SUBNET                   \
    --security-group-ids $SECURITY_GROUPS \
    --tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=${NAME}}]" \
    --block-device-mappings "VirtualName=/dev/xvda,DeviceName=/dev/xvda,Ebs={VolumeSize=${DISK}}"
Anda dapat mengetahui alamat IP yang diberikan untuk instance dengan menjalankan perintah aws ec2 describe-instances.

Sekarang Anda seharusnya dapat melakukan SSH ke dalam instance menggunakan alamat IP yang terkait.

Contoh Koneksi
ssh core@<ip address>

Contoh yang lebih lengkap yang memungkinkan penyesuaian dijelaskan di Provisioning Fedora CoreOS on Amazon Web Services.

Mem-boot pada hypervisor lokal (contoh libvirt)

  1. Fetch the latest image suitable for the qemu platform using coreos-installer (or download and verify it from the web). You can use coreos-installer as a container, or on Fedora install it from the repos.

    STREAM="stable"
    # as an installed binary:
    coreos-installer download -s $STREAM -p qemu -f qcow2.xz --decompress -C ~/.local/share/libvirt/images/
    # or as a container:
    podman run --pull=always --rm -v "${HOME}/.local/share/libvirt/images/:/data" -w /data \
        quay.io/coreos/coreos-installer:release download -s $STREAM -p qemu -f qcow2.xz --decompress
  2. Launch a new machine via virt-install, using the Ignition file with your customizations.

    IGNITION_CONFIG="/path/to/example.ign"
    IMAGE="/path/to/image.qcow2"
    VM_NAME="fcos-test-01"
    VCPUS="2"
    RAM_MB="2048"
    STREAM="stable"
    DISK_GB="10"
    # For x86 / aarch64,
    IGNITION_DEVICE_ARG=(--qemu-commandline="-fw_cfg name=opt/com.coreos/config,file=${IGNITION_CONFIG}")
    
    # For s390x / ppc64le,
    IGNITION_DEVICE_ARG=(--disk path="${IGNITION_CONFIG}",format=raw,readonly=on,serial=ignition,startup_policy=optional)
    
    # Setup the correct SELinux label to allow access to the config
    chcon --verbose --type svirt_home_t ${IGNITION_CONFIG}
    
    virt-install --connect="qemu:///system" --name="${VM_NAME}" --vcpus="${VCPUS}" --memory="${RAM_MB}" \
            --os-variant="fedora-coreos-$STREAM" --import --graphics=none \
            --disk="size=${DISK_GB},backing_store=${IMAGE}" \
            --network bridge=virbr0 "${IGNITION_DEVICE_ARG[@]}"
virt-install requires both the OS image and Ignition file to be specified as absolute paths.
Depending on your version of virt-install, you may not be able to use --os-variant=fedora-coreos-* and will get an error. In this case, you should pick an older Fedora variant (--os-variant=fedora31 for example). You can find the variants that are supported by you current version of virt-install with osinfo-query os | grep '^\s*fedora'.
DISK_GB should be at least as big as the default size of the image. For Fedora CoreOS, this is currently 10 GB.
Make sure that your user has access to /dev/kvm. The default is to allow access for everyone, but on some distributions you may need to add yourself to the kvm group.
You can escape out of the serial console by pressing CTRL + ].

Jika Anda menyiapkan kunci SSH untuk pengguna core default, Anda dapat melakukan SSH ke dalam VM dan menjelajahi OS:

ssh core@<ip address>

Menjelajahi OS

Setelah VM selesai melakukan booting, alamat IP-nya akan muncul di konsol. Secara desain, tidak ada kredensial default yang dikodekan.

Jika Anda menyiapkan kunci SSH untuk pengguna core default, Anda dapat melakukan SSH ke dalam VM dan menjelajahi OS:

ssh core@<ip address>

Menghubungi

Kami menyarankan agar semua pengguna berlangganan ke milis coreos-status yang bervolume rendah untuk mendapatkan pemberitahuan operasional yang terkait dengan Fedora CoreOS.

Bug dapat dilaporkan ke Fedora CoreOS Tracker.

Untuk pertanyaan langsung, jangan ragu untuk menghubungi #coreos:fedoraproject.org di Matrix.

Untuk pertanyaan dan diskusi lebih lanjut terkait Fedora CoreOS, tersedia forum dan milis.