Migración de CoreOS Container Linux (CL) a Fedora CoreOS (FCOS)

Fedora CoreOS es el sucesor oficial de CoreOS Container Linux, que llegó al final de su vida útil el 26 de mayo de 2020. Esta página intenta documentar las diferencias entre CL y FCOS para facilitar la transición a FCOS.

Introducción

Para migrar de CL a FCOS, debe convertir sus antiguas configuraciones de Container Linux, Ignition o archivos cloud-config a un archivo Butane config y adaptar el contenido para FCOS. Dado que muchos detalles de configuración han cambiado, le recomendamos consultar esta página y el problema de migración de CL en GitHub.

Cambios en la instalación

Se han realizado los siguientes cambios en el proceso de instalación:

  • El script coreos-install ha sido sustituido por el coreos-installer. Esto ofrece funcionalidad similar.

  • El parámetro de línea de comando del kernel coreos.autologin no está admitido actualmente en FCOS. Para acceder con propósito de recuperación, hay instrucciones disponibles aquí.

  • Ciertas plataformas CL, como Vagrant, aún no son compatibles con FCOS. Consulte la página de Descarga para ver los tipos disponibles de la imagen.

Cambios del paquete de software

  • etcd is not included in FCOS. Refer to Running etcd for instructions to run it as a container on FCOS.

  • flannel is not included in FCOS.

  • The Podman container runtime is included in FCOS and is the recommended container runtime. The rkt container runtime is not included.

  • FCOS does not have a recommended mechanism to select the version of docker.

  • Network configuration is now handled by NetworkManager instead of systemd-networkd.

  • For time synchronization, use chronyd rather than ntpd or systemd-timesyncd.

  • Automatic updates are now coordinated by Zincati, as described in the Zincati documentation. The rollback mechanism (via grub) is now provided by rpm-ostree.

  • The functionality of the reboot manager (locksmith) is rolled into Zincati.

  • The update-ssh-keys tool is not provided on FCOS. sshd uses a helper program to read key files directly out of ~/.ssh/authorized_keys.d.

Configuration changes

When writing Butane configs, note the following changes:

  • coreos-metadata is now Afterburn. The prefix of the metadata variable names has changed from COREOS_ to AFTERBURN_, and the following platform names have changed:

  • By default, FCOS does not allow password logins via SSH. We recommend configuring SSH keys instead. If needed, you can enable SSH password authentication.

  • Because usermod is not yet fully-functional on FCOS, there is a docker group in the /etc/group file. This is a stop-gap measure to facilitate a smooth transition to FCOS. The team is working on a more functional usermod, at which time the docker group will no longer be included by default. See the docker group issue.

  • There is no way to create directories below the / directory. Changes are restricted to /etc and /var. Refer to the documentation for the storage node of the Butane config for details about writing directories and files to FCOS.

  • Butane configs no longer have a separate section for network configuration. Use the Butane files section to write a NetworkManager key file instead.

Operator notes

  • FCOS provides best-effort stability, and may occasionally include regressions or breaking changes for some use cases or workloads.

  • CL had three release channels: alpha, beta, and stable. The FCOS production release streams are next, testing, and stable, with somewhat different semantics.

  • In general, SELinux confinement should work the same as in Fedora.

  • To deploy an Ignition config as part of a PXE image (a "custom OEM" in CL terminology), follow the same process as in CL, but place the config.ign file in the root of the archive.

  • In CL, metrics/telemetry data was collected by the update mechanism. In FCOS, nodes are counted (without unique identifiers) via the Count Me mechanism.

  • Cloud CLI clients are not included in FCOS. There is an initiative to create a "tools" container to run on FCOS.

  • When opening an existing file in a sticky directory, the behavior differs from CL. See the relevant systemd commit.

  • CL left Simultaneous Multi-Threading (SMT) enabled but advised users to turn it off if their systems were vulnerable to certain issues such as L1TF or MDS. By default, FCOS automatically disables SMT for vulnerable systems.

  • In general, docker uses the default configuration from Fedora, which is different under many aspects. Notably the logging driver is set to journald and live-restore is enabled.

Notas de implementación

  • El sistema de archivos predeterminado en CL era ext4. En FCOS, el predeterminado es xfs.

  • Mientras que CL utilizó la activación del socket systemd para sshd, FCOS inicia sshd al inicio de manera predeterminada.

  • CL tenía una "partición OEM" en /usr/share/oem con una configuración GRUB personalizable por el usuario y algunas herramientas adicionales, pero FCOS no la tiene.