Fedora CoreOS : un chapeau en feutre intelligent pour Container Linux

Fedora CoreOS est une distribution de Linux utilisée en tant que système hôte pour conteneurs. Elle se base sur CoreOS Container Linux, activement développée et exploitée par l’entreprise de développement américaine Red Hat. Par conséquent, le système embarque CoreOS Container Linux avec les solutions de Fedora Atomic Host. Ce dernier pilote par exemple la création de paquets et l’intégration de la sécurité SELinux.

Note

Le système d’exploitation serveur Fedora est le successeur direct de Red Hat Linux. En anglais, « Fedora » désigne un chapeau en feutre, le célèbre emblème de Red Hat. L’objectif de cette distribution de Linux est de créer un système d’exploitation pour presque tous les champs d’application et groupes cibles. CoreOS Linux est aussi appelé « Container Linux », à ne pas confondre avec les conteneurs Linux. Container Linux est un système d’exploitation open source indépendant qui permet d’exécuter des applications et leurs fonctionnalités minimales sous Linux.

En 2018, Red Hat a repris CoreOS et développé, avec Fedora CoreOS, un système Upstream visant à remplacer le classique Container Linux. Avec une promesse en tête : la configuration de Fedora CoreOS ne dure que cinq minutes.

Qu’est-ce que Fedora CoreOS ?

Fedora CoreOS est une distribution de Linux optimisée pour travailler avec Kubernetes et s’oriente vers l’exécution de tâches dans des conteneurs. Pour ce faire, le système propose un support agréable basé sur des mises à jour et corrections automatiques et des mises à jour de sécurité régulières.

En tant que produit combiné de CoreOS et Red Hat, Fedora CoreOS bénéficie des meilleurs outils de ces deux systèmes :

  • L’outil Ignition de Container Linux : cette technologie sert à manipuler les disques durs pendant le processus de démarrage sur le système de fichiers source de la mémoire vive (initial ram filesystem), dans le but de démarrer Container Linux. Dans Fedora CoreOS, il est utilisé pour booter et configurer les images de Fedora CoreOS.
  • rpm-ostree de Red Hat : ce système de gestion de paquets permet de créer des groupes de paquets que l’on peut, in fine, travailler comme de véritables images.

À ce stade, Fedora CoreOS a tout l’air d’être un simple système hôte pour les logiciels de conteneurs, similaire, en principe, à Docker ou à une de ses alternatives comme OCI. On peut installer et exploiter les conteneurs comme avec les moteurs classiques Podman ou Moby. Fedora CoreOS se démarque surtout par sa stabilité et sa sécurité, dans le respect le plus strict des directives de SELinux.

Note

rpm-ostree s’accompagne aussi d’une protection propre contre les attaques, les mises à jour erronées ou les paquets. En cas de problème, toutes les étapes sont réversibles.

Après une installation rapide, simple et flexible, Fedora CoreOS peut s’utiliser sans nécessiter de maintenance. Ainsi, par exemple, toutes les mises à jour nécessaires sont appliquées automatiquement. Pour éviter tout redémarrage involontaire du système, qui pourrait, dans le pire des cas, entraîner des pertes de données, l’administrateur a toujours le dessus : il peut intervenir sur ce processus et commander le redémarrage de plusieurs systèmes en un lieu centralisé (pour conserver notre exemple).

Installer Fedora CoreOS

Fedora CoreOS peut être directement installé sur un ordinateur ou bien sur une machine virtuelle comme VMware, OpenStack et QEMU. Par ailleurs, il existe aussi des images de FedoraOS sur le Cloud pour tous les prestataires les plus courants, entre autres AWS, Microsoft Azure, Google Cloud et Alibaba Cloud.

L’installation standard de Fedora CoreOS sur un système Linux offre une version minimale, c’est-à-dire comprenant uniquement les applications nécessaires à son utilisation. Lors du premier démarrage, Ignition lit automatiquement les données de configuration et installe le système. Les paramètres contenus dans ces données renseignent Ignition sur la manière dont est conçu le système. Ensuite, Les partitions sont ensuite définies, les utilisateurs créés et les droits attribués. Si la configuration se trouve sur un Cloud, l’environnement d’installation est adapté à ce paramètre. Avec AWS, par exemple, la configuration est comprise dans le système d’exploitation, ce qui permet effectivement d’installer Fedora CoreOS en un clic.

Sur votre propre ordinateur ou hyperviseur, la configuration s’effectue manuellement avec l’outil de lignes de commandes fcct (Fedora Core OS Configuration Tool). Il faut tout d’abord créer un fichier YAML et le formater en JSON. Enfin, il faut donner à ce fichier l’extension .fcc (Fedora CoreOS Configuration). Une fois le fichier .fcc terminé, l’administrateur est identifié par la clé SSH correspondante.

Note

Le fichier Ignition n’est pas conçu pour installer mais pour configurer Fedora CoreOS : les registres et fichiers et leurs contenus peuvent y être spécifiés, même dès l’installation.

Dès que le système s’exécute et que l’utilisateur s’est identifié avec la clé SSH, celui-ci peut installer les conteneurs souhaités normalement, par exemple avec Podman ou Moby. Fedora CoreOS est compatible avec Docker et les spécifications de l’Open Container Initiative. CoreOS peut aussi être utilisé comme installation indépendante et administré avec Kubernetes.

Dans quels cas utiliser Fedora CoreOS ?

Tout comme Fedora Atomic Host, Fedora CoreOS est un système hôte pour conteneurs très disponible, sûr et flexible. Bien que son installation ne demande effectivement que cinq minutes, son utilisation n’est absolument pas conseillée aux débutants. Sans expérience dans l’univers Red Hat, il faudra s’armer de patience pour commencer.

Dans quels cas peut-on concrètement utiliser Fedora CoreOS ? Tout simplement pour les systèmes de conteneurs qui doivent travailler sans maintenance. C’est, entre autres, essentiel pour exécuter un service de serveur dans des conteneurs, idéalement capables de s’actualiser par eux-mêmes. En général, un système d’exploitation traditionnel ne peut pas le faire. Fedora CoreOS libère les administrateurs de cette tâche chronophage et fonctionne de manière optimale lorsqu’on n’opère aucune intervention supplémentaire. Les serveurs reproductibles sont le domaine de prédilection de Fedora CoreOS : dans ce cas, le système d’exploitation remplace en continu les paquets et conteneurs par leurs versions les plus récentes.

CoreOS – rétrospective

Ce que Fedora CoreOS est capable de faire, CoreOS le faisait à petite échelle en son temps. Ce système d’exploitation open source léger utilisait un noyau Linux et se spécialisait dans l’exécution d’applications dans Docker. CoreOS était d’ailleurs responsable de l’exploitation des conteneurs Linux et pouvait aussi répartir les configurations. Publié en 2013, CoreOS a rapidement connu le succès, culminant avec son rachat par Red Hat pour 250 millions de dollars. Le 26 mai 2020, son statut de projet indépendant prend fin et la solution devient officiellement un composant de Fedora CoreOS.

Les avantages de Fedora CoreOS en résumé

Système de conteneurs Linux sûr, flexible et d’une stabilité absolue en moins de cinq minutes, Fedora CoreOS se démarque par ses atouts suivants :

  • tout est configuré en quelques clics ;
  • il suffit de s’identifier avec une clé SSH et les conteneurs sont immédiatement installés ;
  • le système fonctionne de façon autonome.

Comparé à son prédécesseur CoreOS, ses possibilités d’utilisation et son public sont nettement plus vastes.

Les mises à jour automatiques ne seront pas un avantage pour tous ses utilisateurs, car on peut redouter qu’elles entravent les processus. Cependant, chaque mise à jour est minutieusement contrôlée dans un processus séparé : un paquet est tout d’abord testé dans Next Stream, un environnement d’essai, qui reproduit l’état de développement actuel de Fedora CoreOS. Les développeurs y compilent toutes les mises à jour prévues pour le système d’exploitation, les exécutent et observent les résultats. C’est uniquement lorsque tout fonctionne parfaitement que les paquets sont envoyés sur Stable Stream, où Fedora CoreOS récupère les mises à jour et les installe automatiquement.