Fedora CoreOS bekeken: containers makkelijk beheren

Marco den Teuling
0

Fedora CoreOS container inleiding configuratie

Met Fedora CoreOS bouw je een server die slechts één taak heeft: diensten uitvoeren in containers. Geheel volgens het wegwerpprincipe van containers zijn handmatige updates en onderhoud niet nodig. We bekijken deze oplossing.

Als je serverdiensten in containers uitvoert, wil je vooral dat ze onderhoudsvrij zijn en zich zelfstandig updaten. Dat werkt vaak niet bij het onderliggende besturingssysteem, zodat je zelf moet zorgen voor de updates. Fedora’s CoreOS neemt je dat allemaal uit handen.

Het besturingssysteem is bedoeld voor reproduceerbare wegwerp­servers en werkt het systeem volledig automatisch bij. CoreOS is een minimaal Linux-systeem waarin populaire containertools zoals Docker of Podman zorgen voor het starten en beheren van containers. De voor complexe infrastructuren ontwikkelde container-orchestrator Kubernetes maakt geen deel uit van de distributie, maar kan op verzoek geïnstalleerd worden. Na het opstarten werkt CoreOS zelfvoorzienend. Het start de containers op en kan in het beste geval geheel zonder verdere tussenkomst van een beheerder.

Om dat doel te bereiken, neemt Fedora CoreOS meteen meerdere maatregelen die verschillen van de manier waarop conventionele distributies werken. Zo is onder meer niet voorzien in het installeren van softwarepakketten, omdat alle applicaties in containers draaien. Om aanpassingen aan het basissysteem te voorkomen, heeft Fedora CoreOS de volledige /usr-directory als read-only gemount. Bovendien beschermt het security-framework SELinux door zeer strenge toegangsregels tegen potentiële aanvallen.

Zelfstandig CoreOS

CoreOS kun je heel goed gebruiken om je containers op een of meerdere servers te starten zonder dat er veel energie in het besturingssysteem hoeft te worden gestoken. Het doel is dat je reproduceerbare exemplaren in elkaar zet die naar believen kunnen worden gemaakt of vernietigd – precies zoals bij containers gebruikelijk is.

Om die servers zo eenvoudig en reproduceerbaar te maken, gebeurt het configureren via een YAML-bestand. Wanneer het installatiemedium gestart wordt, lanceert ­Fedora CoreOS ­automatisch een tool genaamd Ignition. Die tool haalt een door de beheerder aangemaakt configuratiebestand op, leest dat en stelt het systeem vervolgens in volgens de daarin opgegeven specificaties – inclusief alle containers die erop moeten draaien. De set-up omvat naast het aanmaken van gebruikers­accounts ook het aanmaken van Systemd-units en het partitioneren van de harde schijf.

CoreOS installatie wizard partities XFS

De installatiewizard maakt een boot-partitie aan met het ext4-bestandssysteem, het systeem zelf komt op een partitie met XFS, die Ignition later uitbreidt tot de maximaal mogelijke grootte. Zoals de andere twee partities aangeven, zal Fedora CoreOS zowel op BIOS- als op UEFI-apparaten opstarten.

Bovendien werkt het systeem zichzelf automatisch bij tijdens het gebruik. Fedora CoreOS downloadt dan een actuele snapshot van het systeem en schakelt na een reboot gewoon over naar dat ­nieuwe fundament. Als de update mislukt, start Fedora ­CoreOS automatisch de oude image opnieuw op. Beheerders kunnen de update ook makkelijk terugdraaien in geval van incompatibiliteiten (roll-back). Voor dat ingenieuze updatemechanisme vertrouwen de Fedora-ontwikkelaars op rpm-ostree. Een server van het Fedora-project stelt eerst een bestands­systeem samen, dat vervolgens het clientsysteem en een bestandssysteem-image downloadt en activeert.

Configuratie

De eerste stappen met CoreOS zijn bijzonder eenvoudig te nemen met behulp van de officiële ISO-image. We beschrijven dit verder in het artikel in c’t magazine, uitgave 10. Alle downloads en links kun je vinden via de webpagina die bij dat artikel hoort.

Het Fedora-team levert verschillende images voor virtualisatieoplossingen en cloudsystemen – waaronder AWS, Azure en OpenStack. Hoe je het juiste configuratiebestand aanlevert, hangt af van je omgeving. QEMU-gebruikers slaan het configuratie­bestand bijvoorbeeld op in de virtuele firmware onder de sleutel opt/ com.coreos/config. Meer hierover lees je ook in het artikel in c’t magazine 10.

CoreOS configuratiebestand boot Ignition

Bij grote fouten in het configuratiebestand stopt het bootproces. Dat gebeurt zelfs als Ignition geen bestand kan aanmaken zoals hier.

 


Blijf op de hoogte van de nieuwste informatie over Linux-distributies en container-oplossingen!
Schrijf je in voor de nieuwsbrief:


 

Beperkingen

Je kunt een eenvoudige CoreOS-installatie al implementeren met een eenvoudige container. Als je eenmaal gewend bent aan de manier waarop de Ignition-configuratie werkt, zijn de YAML-configuraties makkelijk op te stellen. Als je bestaande systemen wilt verplaatsen, kom je eveneens niets tekort. Als je met Docker Compose containers op andere platforms hebt gemaakt, kun je die met CoreOS blijven gebruiken. Je hoeft alleen maar docker-compose te installeren. Ook het vrijgeven van de Docker-socket voor internet is geen probleem. Je kunt dus containers op de server starten vanaf je werkcomputer zonder de commandline.

De mogelijkheden van Ignition zijn momenteel beperkt. De tool zelf kan bijvoorbeeld geen netwerkconfiguratie wijzigen. Om dat te doen, moet je de juiste configuratiebestanden opgeven bij de sectie files. Fedora CoreOS en Ignition werken in de praktijk soepel en zonder problemen, en die distributie dient als basis voor RedHat CoreOS. Als je op zoek bent naar een slank Linux-systeem voor containers, moet je zeker een kijkje nemen bij CoreOS. De ontwikkeling en de geplande functies kunnen gevolgd worden op GitHub.

(Informatie afkomstig uit het artikel van Tim Schürmann en Noud van Kruysbergen, c’t magazine 10/2020, p. 108)

Lees uitgebreide achtergrondinfo op je gemak in c't jan-feb/2021

Meer over

Software

Deel dit artikel

Lees ook

Minder verbruik, lawaai en warmte: undervolten

In je thuiskantoor  wil je dat je IT-apparatuur je werkkamer zo min mogelijk laat opwarmen en ventilatoren niet langdurig op volle toeren draaien. Dat...

Glasvezelnetwerk in huis

Als je voortdurend grote bestanden naar of van een centrale server kopieert, moet je vaak geduld hebben. Het kan de overweging waard zijn om dan een g...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er