Fedora CoreOS è una di­stri­bu­zio­ne Linux che viene uti­liz­za­ta come host container. È basata su CoreOS Container Linux ed è at­ti­va­men­te svi­lup­pa­ta e di­stri­bui­ta dallo svi­lup­pa­to­re americano Red Hat. Fedora CoreOS rap­pre­sen­ta il connubio perfetto tra il sistema CoreOS Container Linux e le soluzioni Fedora Atomic Host. Quest’ultimo controlla, ad esempio, la divisione in pacchetti e l’in­te­gra­zio­ne del modulo di sicurezza SELinux.

N.B.

Il sistema operativo per server Fedora è il diretto suc­ces­so­re di Red Hat Linux. Il noto marchio di Red Hat “Fedora” prende il nome dall’omonimo cappello in feltro, chiamato anche borsalino. Fedora si pone l’obiettivo di creare un sistema operativo per quasi tutte le aree di ap­pli­ca­zio­ne e i target. CoreOS Linux viene anche chiamato “Container Linux”, da non con­fon­der­si con Linux Container: dietro Container Linux, infatti, c’è un sistema operativo open source minimale, in grado di lavorare in totale autonomia e di eseguire ap­pli­ca­zio­ni in ambiente Linux.

Nel 2018, Red Hat ha acquisito CoreOS e ha svi­lup­pa­to Fedora CoreOS, un sistema upstream che dovrebbe andare a so­sti­tui­re il classico Container Linux. Una prima promessa degli svi­lup­pa­to­ri di Fedora CoreOS riguarda la capacità del sistema operativo di essere con­fi­gu­ra­to in soli cinque minuti.

Che cos’è Fedora CoreOS?

Fedora CoreOS è una di­stri­bu­zio­ne Linux ot­ti­miz­za­ta per lavorare con Ku­ber­ne­tes che si concentra sull’ese­cu­zio­ne di lavori basati su container. Il sistema operativo offre un buon livello di supporto grazie a update e cor­re­zio­ni au­to­ma­ti­che, oltre a regolari ag­gior­na­men­ti di sicurezza.

In quanto prodotto congiunto di CoreOS e Red Hat, Fedora CoreOS unisce in sé il meglio dei tool di entrambi i sistemi:

  • Lo strumento Ignition di Container Linux: è usato per ma­ni­po­la­re i dischi rigidi durante il processo di boot at­tra­ver­so il file system iniziale in memoria (initial ram fi­le­sy­stem) per avviare Container Linux. In Fedora CoreOS, questo strumento è ne­ces­sa­rio per l’avvio e la con­fi­gu­ra­zio­ne delle immagini.
  • Il sistema rpm-ostree di Red Hat: questo sistema di gestione dei pacchetti permette di as­sem­bla­re gruppi di pacchetti con cui si può poi lavorare come se fossero un’immagine unica.

Fino a qui, Fedora CoreOS sembra avere tutte le carte in regola per pre­sen­tar­si come un sistema host snello per container software, quindi come un prodotto analogo a Docker o come un sistema al­ter­na­ti­vo a Docker, al pari di OCI. I con­te­ni­to­ri possono anche essere in­stal­la­ti e gestiti come nei container classici con Podman o Moby. Di Fedora CoreOS con­vin­co­no in par­ti­co­la­re stabilità e sicurezza, sotto stretta os­ser­van­za delle direttive di SELinux.

N.B.

Anche rpm-ostree offre la propria pro­te­zio­ne contro gli attacchi e gli ag­gior­na­men­ti o i pacchetti difettosi: in caso di emergenza è infatti possibile ri­pri­sti­na­re le con­fi­gu­ra­zio­ni pre­ce­den­ti.

Al termine di un processo di in­stal­la­zio­ne rapido, semplice e fles­si­bi­le, Fedora CoreOS può essere eseguito com­ple­ta­men­te senza che sia ne­ces­sa­ria alcuna ma­nu­ten­zio­ne. In questo modo, tutti gli ag­gior­na­men­ti di sicurezza necessari vengono eseguiti au­to­ma­ti­ca­men­te. Per evitare riavvii del sistema non pia­ni­fi­ca­ti, che nel peggiore dei casi possono portare alla perdita di dati, all’am­mi­ni­stra­to­re è data la pos­si­bi­li­tà di in­ter­ve­ni­re nei processi di ag­gior­na­men­to e riavviare più sistemi in modo cen­tra­liz­za­to.

In­stal­la­zio­ne di Fedora CoreOS

Fedora CoreOS può essere in­stal­la­to sia di­ret­ta­men­te sull’hardware che su macchine virtuali, come VMware, OpenStack e QEMU. Inoltre, le immagini cloud di Fedora CoreOS sono di­spo­ni­bi­li anche per tutti i prin­ci­pa­li provider, tra cui AWS, Microsoft Azure, Google Cloud e Alibaba Cloud.

Per im­po­sta­zio­ne pre­de­fi­ni­ta, il processo di in­stal­la­zio­ne di Fedora CoreOS su sistemi Linux avviene in modalità minimale, cioè con solo le ap­pli­ca­zio­ni ne­ces­sa­rie per la sua ese­cu­zio­ne. Ignition legge au­to­ma­ti­ca­men­te il file di con­fi­gu­ra­zio­ne al primo avvio e imposta il sistema. I parametri del file di con­fi­gu­ra­zio­ne per­met­to­no a Ignition di sapere com’è co­sti­tui­to il sistema. Vengono quindi definite le par­ti­zio­ni, creati gli utenti e assegnati i permessi. Se il file di con­fi­gu­ra­zio­ne si trova in un cloud, l’ambiente di in­stal­la­zio­ne viene adeguato di con­se­guen­za. Nel caso di AWS, ad esempio, la con­fi­gu­ra­zio­ne è inclusa nel sistema operativo, in modo che Fedora CoreOS possa essere in­stal­la­to con un solo clic.

Nel caso in cui si opti per l’in­stal­la­zio­ne di Fedora CoreOS sul proprio hardware o hy­per­vi­sor, si procede a con­fi­gu­ra­re il sistema ma­nual­men­te con il tool a riga di comando fcct (Fedora CoreOS Con­fi­gu­ra­tion Tool). Il primo passo consiste nella creazione di un file YAML, il quale viene quindi for­mat­ta­to in JSON. In un passaggio suc­ces­si­vo, al file viene at­tri­bui­ta l’esten­sio­ne .fcc (Fedora CoreOS Con­fi­gu­ra­tion). Nel file .fcc così ultimato, l’am­mi­ni­stra­to­re si fa ri­co­no­sce­re per mezzo dell’apposita chiave SSH.

N.B.

Il file Ignition non serve solo per l’in­stal­la­zio­ne, ma anche per la con­fi­gu­ra­zio­ne di Fedora CoreOS: le directory e i file, così come il loro contenuto, possono essere spe­ci­fi­ca­ti tramite questo, anche di­ret­ta­men­te durante l’in­stal­la­zio­ne.

Una volta che il sistema è in funzione e si è ef­fet­tua­to il login con la chiave SSH, i container de­si­de­ra­ti possono essere in­stal­la­ti nor­mal­men­te, ad esempio tramite Podman o Moby. Fedora CoreOS è com­pa­ti­bi­le con Docker e con le spe­ci­fi­che della Open Container Ini­tia­ti­ve. CoreOS può anche essere eseguito come in­stal­la­zio­ne singola e gestito con Ku­ber­ne­tes.

Quali sono gli utilizzi di Fedora CoreOS?

Come Fedora Atomic Host, anche Fedora CoreOS è im­ple­men­ta­to come un sistema host container altamente di­spo­ni­bi­le, sicuro e fles­si­bi­le. Anche se il sistema si installa in soli cinque minuti, lavorare con Fedora CoreOS non è as­so­lu­ta­men­te con­si­glia­to ai prin­ci­pian­ti. Durante la prima fase di utilizzo, chi non ha fa­mi­lia­ri­tà con l’universo Red Hat dovrà armarsi di molta pazienza.

Ma dove entra in gioco esat­ta­men­te Fedora CoreOS? La risposta è la seguente: in sistemi di container che devono essere in grado di fun­zio­na­re senza ma­nu­ten­zio­ne. Questa capacità co­sti­tui­sce un requisito es­sen­zia­le, tra l’altro, quando i servizi dei server sono gestiti in container che ideal­men­te sono in grado di ag­gior­nar­si au­to­no­ma­men­te. Spesso, i sistemi operativi ordinari non pos­sie­do­no questa capacità. Fedora CoreOS solleva gli am­mi­ni­stra­to­ri da questo compito di­spen­dio­so e funziona anche meglio in assenza di ulteriori in­ter­ven­ti. Fedora CoreOS si trova par­ti­co­lar­men­te a suo agio con i server ri­pro­du­ci­bi­li; qui il sistema opera una continua so­sti­tu­zio­ne dei pacchetti e dei container con versioni più attuali.

CoreOS: uno sguardo al passato

Quello che Fedora CoreOS è in grado di fare oggi, CoreOS è riuscito a farlo su piccola scala in passato. Il leggero sistema operativo open source uti­liz­za­va un kernel Linux ed era spe­cia­liz­za­to nell’ese­cu­zio­ne di ap­pli­ca­zio­ni in Docker. CoreOS con­trol­la­va anche l’ese­cu­zio­ne dei container Linux ed era inoltre in grado di di­stri­bui­re con­fi­gu­ra­zio­ni. Ri­la­scia­to nel 2013, CoreOS ha ottenuto ra­pi­da­men­te un grande successo, culminato nella vendita a Red Hat per 250 milioni di dollari. Il 26 maggio 2020, lo sviluppo di CoreOS come progetto a sé stante è stato in­ter­rot­to; da allora, CoreOS continua a fun­zio­na­re uf­fi­cial­men­te solo come parte di Fedora CoreOS.

I punti di forza di Fedora CoreOS in sintesi

Fedora CoreOS è un sistema sicuro, fles­si­bi­le e as­so­lu­ta­men­te stabile per container Linux, operativo in meno di cinque minuti. In sintesi, i punti di forza di Fedora CoreOS sono i seguenti:

  • il sistema può essere com­ple­ta­men­te con­fi­gu­ra­to in pochi clic;
  • basta ef­fet­tua­re il login tramite SSH per far partire il processo di in­stal­la­zio­ne dei container;
  • il sistema funziona fon­da­men­tal­men­te in maniera del tutto autonoma.

Rispetto al suo pre­de­ces­so­re CoreOS, Fedora CoreOS presenta opzioni di im­ple­men­ta­zio­ne molto maggiori e di con­se­guen­za può ri­spon­de­re alle esigenze di un pubblico no­te­vol­men­te più ampio.

Non tutti gli utenti, però, vedono negli ag­gior­na­men­ti au­to­ma­ti­ci un punto a favore, poiché il timore che questi possano in qualche modo com­pro­met­te­re il buon fun­zio­na­men­to dei processi, o ad­di­rit­tu­ra eli­mi­nar­li, rimane. Va detto, in ogni caso, che ogni singolo ag­gior­na­men­to viene at­ten­ta­men­te con­trol­la­to in un processo separato; le nuove versioni dei pacchetti vengono infatti prima testate nel Next Stream, un campo di prova che riflette l’attuale stato di sviluppo di Fedora CoreOS. Gli svi­lup­pa­to­ri rac­col­go­no tutti i futuri ag­gior­na­men­ti del sistema operativo contenuti nel nuovo pacchetto, li eseguono e osservano i processi. Solo se tutto funziona senza com­pli­ca­zio­ni, i pacchetti vengono inviati allo Stable Stream, dove Fedora CoreOS estrae gli ag­gior­na­men­ti e li installa au­to­ma­ti­ca­men­te.

Vai al menu prin­ci­pa­le