Fedora CoreOS (FCOS) sa nascut din fuziunea CoreOS Container Linux si Fedora Atomic Host. Este un sistem de operare minim si monolitic axat pe rularea aplicatiilor containerizate. FCOS ofera actualizari automate si SELinux. Fiecare flux (stable, testing si next) este lansat la fiecare 2 saptamâni si promovat de la un flux la altul (next -> testing -> stable). În acest fel, actualizarile au ocazia sa fie testate pe o perioada lunga de timp.
Cum utilizam Fedora CoreOS? Putem folosi fluxul stabil si o imagine de baza QEMU pe care o putem rula ca o masina virtuala. Puteti utiliza coreos-installer pentru a descarca acea imagine.
$ sudo dnf install coreos-installer $ coreos-installer download --image-url https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/32.20200907.3.0/x86_64/fedora-coreos-32.20200907.3.0 -qemu.x86_64.qcow2.xz $ xz -d fedora-coreos-32.20200907.3.0-qemu.x86_64.qcow2.xz $ ls fedora-coreos-32.20200907.3.0-qemu.x86_64.qcow2
Pentru a personaliza un sistem FCOS, trebuie sa furnizati un fisier de configurare care va fi utilizat de Ignition pentru provizionarea sistemului.
Urmatoarea configuratie creeaza un utilizator „de baza”, adauga o cheie SSH in fisierul autorizat_chei si creeaza un serviciu systemd care foloseste podman pentru a rula un container simplu hello world.
version: "1.0.0" variant: fcos passwd: users: - name: core ssh_authorized_keys: - ssh-ed25519 my_public_ssh_key_hash fcos_key systemd: units: - contents: | [Unit] Description=Run a hello world web service After=network-online.target Wants=network-online.target [Service] ExecStart=/bin/podman run --pull=always --name=hello --net=host -p 8080:8080 quay.io/cverna/hello ExecStop=/bin/podman rm -f hello [Install] WantedBy=multi-user.target enabled: true name: hello.service
Dupa adaugarea cheii SSH in configuratie, salvati-o ca config.yaml, apoi utilizati instrumentul Fedora CoreOS Config Transpiler (fcct) pentru a converti aceasta configuratie YAML intr-o configuratie valida (format JSON).
$ sudo dnf install fcct $ fcct -input config.yaml -output config.ign
Pentru a rula imaginea, puteti utiliza stiva libvirt.
$ sudo dnf install virt-install
Pentru a curata, urmatoarele comenzi vor sterge VM si spatiul de stocare asociat.
$ virsh destroy fcos $ virsh undefine --remove-all-storage fcos