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)
New AWS instances can be directly created from the public FCOS images. You can find the latest AMI for each region from the download page.
If you are only interested in exploring FCOS without further customization, you can use a registered SSH key-pair for the default core user.
To test out FCOS this way you’ll need to run the aws ec2 run-instances command and provide some information to get the instance up and running. The following is an example command you can use:
NAME='instance1'
SSHKEY='my-key' # the name of your SSH key: `aws ec2 describe-key-pairs`
IMAGE='ami-xxx' # the AMI ID found on the download page
DISK='20' # the size of the hard disk
REGION='us-east-1' # the target region
TYPE='m5.large' # the instance type
SUBNET='subnet-xxx' # the subnet: `aws ec2 describe-subnets`
SECURITY_GROUPS='sg-xx' # the security group `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}}"
You can find out the instance’s assigned IP by running aws ec2 describe-instances
|
You now should be able to SSH into the instance using the associated IP address.
ssh core@<alamat ip>.
Contoh yang lebih lengkap yang memungkinkan penyesuaian dijelaskan di Provisioning Fedora CoreOS on Amazon Web Services.
Mem-boot pada hypervisor lokal (contoh libvirt)
-
Fetch the latest image suitable for the
qemuplatform usingcoreos-installer(or download and verify it from the web). You can usecoreos-installeras 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 -
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@<alamat ip>.
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@<alamat ip>.
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.
Want to help? Learn how to contribute to Fedora Docs ›