Fedora CoreOS: Meet the new Linux for Containers
CoreOS, later renamed Container Linux has been one of the first and most popular Linux distributions built and optimized to run containers. Earlier this year Red Hat, announced the acquisition of CoreOS. This event created a major shakedown in the container industry, as well as many concerns in current CoreOS users. Fear not! Red Hat unveiled its plans concerning the acquisition. Meet Fedora CoreOS, the new Container Linux.
Fedora CoreOS, Container Linux and Atomic Host
Since its early releases CoreOS has been one of the most reliable container operating system (read: lightweight operating systems built to run containers as their primary focus). The wide range of features and the great tools developed by the homonym company, put CoreOS a step ahead the competition. CoreOS started in 2014, and later down the road, in 2016 was renamed “Container Linux”.
While CoreOS was gaining traction and market shares, Red Hat was developing its own container operating system: Project Atomic. Project Atomic flagship product, Atomic Host (later split into Fedora Atomic Host and CentOS Atomic Host), is Red Hat container operating system, based on Fedora/CentOS with a focus on security (SELinux) and “atomic upgrades” thanks to rpm-ostree.
With the acquisition of CoreOS, it was unclear at first what role Container Linux would play. Recently, Fedora Magazine published an article, clarifying where Container Linux would fit in Red Hat puzzle. A new operating system was born: Fedora CoreOS. The new CoreOS will be entirely rebased on Fedora and rpm-ostree. Red Hat wishes to take the best features from Project Atomic and Container Linux and put them together in the new Fedora CoreOS.
What will happen to Container Linux?
Fedora CoreOS will become the successor of Container Linux, but the latter will continue “to live” inside Fedora CoreOS for the most part. Container Linux philosophy will stay true even after this transformation. Current Container Linux users will be able to migrate their workloads by “re-provisioning the machines”, here an excerpt from the FAQ:
Migration will be accomplished by re-provisioning the machine with Fedora CoreOS. We will provide documentation to make this easier, as well as tooling to help convert existing cloud-configs and Ignition configs for use on Fedora CoreOS.
Container Linux users will also be able to migrate without haste, as Red Hat puts it:
The Container Linux project has a large installed base – it is a top priority to not disrupt that. The project will continue to be supported at least throughout 2019.
What will happen to Atomic Host?
Fedora CoreOS will also become the successor to Fedora Atomic Host. The current plan is for Fedora Atomic Host to have at least a 29 version and 6 months of lifecycle.
Project Atomic is an umbrella project consisting of two flavors of Atomic Host (Fedora and CentOS) as well as various other container-related projects. Project Atomic as a project name will be sunset by the end of 2018 with a stronger individual focus on its successful projects such as Buildah and Cockpit.
How to get started
Whether you run in the cloud, virtualized, or on bare metal, a Fedora CoreOS machine always begins from the same place: a generic OS image. Then, during the first boot, Fedora CoreOS uses Ignition to provision the system. Ignition reads an Ignition config from cloud user data or a remote URL, and uses it to create disk partitions and file systems, users, files and systemd units.
To provision a machine:
- Write a Fedora CoreOS Config (FCC), a YAML document that specifies the desired configuration of a machine. FCCs support all Ignition functionality, and also provide additional syntax (“sugar”) that makes it easier to specify typical configuration changes.
- Use the Fedora CoreOS Config Transpiler to validate your FCC and convert it to an Ignition config.
- Launch a Fedora CoreOS machine and pass it the Ignition config. If the machine boots successfully, provisioning has completed without errors.
The precedent paragraph is courtesy of Fedora Magazine. Unfortunately there is still a lack of documentation regarding new CoreOS but this will be addressed in the future. For the moment you can get started and if you already know your way around Ignition, you will find yourself right at home.