Introduzione a Fedora CoreOS

Introduzione

Stream

Ci sono tre flussi di aggiornamento disponibili per Fedora CoreOS (FCOS): stable, testing e next. In generale, si consiglia di utilizzare stable, ma è raccomandato eseguire alcune macchine su testing e next e fornire feedback.

Ogni stream ha un URL canonico che rappresenta il suo stato attuale in formato JSON, noto come "stream metadata". Ad esempio, l’URL del metadata per lo stream stable è: https://builds.coreos.fedoraproject.org/streams/stable.json

Per automatizzare le installazioni di Fedora CoreOS, è previsto che l’utente interagisca con i metadati dei flussi (stream metadata). Sebbene Fedora CoreOS esegua aggiornamenti sul posto in modo automatico, si raccomanda generalmente di avviare il provisioning delle nuove macchine partendo dalle immagini più recenti.

Per ulteriori informazioni sull’utilizzo dei metadati dei flussi, consulta Stream Metadata. Per saperne di più sui flussi disponibili, consulta Update Streams.

Filosofia di Provisioning

Fedora CoreOS non ha un disco di installazione separato. Invece, ogni istanza inizia da un’immagine disco generica che viene personalizzata al primo avvio tramite [Ignition](https://github.com/coreos/ignition).

Ogni piattaforma dispone di una logica specifica per recuperare e applicare la configurazione al primo avvio. Per le distribuzioni cloud, Ignition raccoglie la configurazione tramite i meccanismi di user-data. Nel caso del bare metal, Ignition può recuperare la propria configurazione dal disco o da una sorgente remota.

Per ulteriori informazioni sulla configurazione, consulta la documentazione per Producing an Ignition File.

While we recommend using Ignition to configure Fedora CoreOS, it is not required to get started using Fedora CoreOS on most platforms. You can use the platform native SSH key configuration mechanisms instead to configure access to your system.

Avvio rapido

Avvio su una VM cloud (esempio AWS)

Nuove istanze AWS possono essere create direttamente dalle immagini pubbliche di FCOS. Puoi trovare l’AMI più recente per ciascuna regione dalla [pagina di download](https://fedoraproject.org/coreos/download/).

Se sei interessato solo a esplorare FCOS senza ulteriori personalizzazioni, puoi utilizzare una [coppia di chiavi SSH registrata](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) per l’utente predefinito core.

Per testare FCOS in questo modo, dovrai eseguire il comando aws ec2 run-instances e fornire alcune informazioni per avviare l’istanza. Ecco un esempio di comando che puoi utilizzare:

Avvio di una nuova istanza
# Nome dell'istanza
NAME='instance1'

# Nome della tua chiave SSH (verifica con: `aws ec2 describe-key-pairs`)
SSHKEY='my-key'

# ID dell'AMI (può essere trovato nella pagina di download di Fedora CoreOS o altra immagine)
IMAGE='ami-xxx'

# Dimensione del disco in GB
DISK='20'

# Regione AWS di destinazione
REGION='us-east-1'

# Tipo di istanza (es. t3.micro, m5.large, ecc.)
TYPE='m5.large'

# ID della subnet (verifica con: `aws ec2 describe-subnets`)
SUBNET='subnet-xxx'

# Gruppi di sicurezza (verifica con: `aws ec2 describe-security
Puoi scoprire l’indirizzo IP assegnato all’istanza eseguendo aws ec2 describe-instances

Ora dovresti poter effettuare l’accesso SSH all’istanza utilizzando l’indirizzo IP associato.

Esempio di connessione
ssh core@<indirizzo ip>

Un esempio più completo che consente la personalizzazione è descritto in Fornitura di Fedora CoreOS su Amazon Web Services.

Avvio su un hypervisor locale (esempio libvirt)

  1. Recupera l’immagine più recente adatta alla piattaforma qemu usando coreos-installer (oppure scaricala e verifica dal web all’indirizzo https://fedoraproject.org/coreos/download/). Puoi usare coreos-installer come container da https://quay.io/repository/coreos/coreos-installer, oppure su Fedora installalo dai repository.

    STREAM="stable"
    # come binario installato:
    coreos-installer download -s $STREAM -p qemu -f qcow2.xz --decompress -C ~/.local/share/libvirt/images/
    # o come container:
    podman run --pull=always --rm -v "${HOME}/.local/share/libvirt/images/:/data" -w /data \
        quay.io/coreos/coreos-installer:release download -s $STREAM -p qemu -f qcow2.xz --decompress
  2. Avvia una nuova macchina tramite virt-install, utilizzando il file Ignition con le tue personalizzazioni.

    IGNITION_CONFIG="/path/to/example.ign"
    IMAGE="/path/to/image.qcow2"
    VM_NAME="fcos-test-01"
    VCPUS="2"
    RAM_MB="2048"
    STREAM="stable"
    DISK_GB="10"
    # Per x86 / aarch64,
    IGNITION_DEVICE_ARG=(--qemu-commandline="-fw_cfg name=opt/com.coreos/config,file=${IGNITION_CONFIG}")
    
    # Per s390x / ppc64le,
    IGNITION_DEVICE_ARG=(--disk path="${IGNITION_CONFIG}",format=raw,readonly=on,serial=ignition,startup_policy=optional)
    
    # Imposta l'etichetta SELinux corretta per consentire l'accesso alla configurazione
    chcon --verbose --type svirt_home_t user.ign
    
    virt-install --connect="qemu:///system" --name="${VM_NAME}" --vcpus="${VCPUS}" --memory="${RAM_MB}" \
            --os-variant="fedora-coreos-$STREAM" --import --graphics=none \
            --disk="size=${DISK_GB},backing_store=${IMAGE}" \
            --network bridge=virbr0 "${IGNITION_DEVICE_ARG[@]}"
virt-install richiede che sia il percorso dell’immagine del sistema operativo sia quello del file di configurazione Ignition siano specificati come percorsi assoluti.
A seconda della tua versione di virt-install, potresti non essere in grado di utilizzare --os-variant=fedora-coreos-stable e ricevere un errore. In tal caso, dovresti scegliere una variante di Fedora più vecchia (ad esempio --os-variant=fedora31). Puoi trovare le varianti supportate dalla tua versione corrente di virt-install con osinfo-query os | grep '^\s*fedora'.
DISK_GB dovrebbe essere grande almeno quanto la dimensione predefinita dell’immagine. Per Fedora CoreOS, attualmente questa è di 10 GB.
Assicurati che il tuo utente abbia accesso a`/dev/kvm`. L’impostazione predefinita prevede l’accesso consentito a tutti, ma su alcune distribuzioni potrebbe essere necessario aggiungere il proprio utente al gruppo kvm.
Puoi uscire dalla console seriale premendo CTRL + ].

Se hai configurato una chiave SSH per l’utente predefinito core, puoi connetterti via SSH alla VM ed esplorare il sistema operativo:

ssh core@<indirizzo ip>

Esplorando il sistema operativo

Una volta completato l’avvio della VM, i suoi indirizzi IP appariranno sulla console. Per progettazione, non sono presenti credenziali predefinite preimpostate (hard-coded).

Se hai configurato una chiave SSH per l’utente predefinito core, puoi connetterti via SSH alla VM ed esplorare il sistema operativo:

ssh core@<indirizzo ip>

Come mettersi in contatto

Raccomandiamo a tutti gli utenti di iscriversi alla mailing list a basso volume coreos-status per ricevere avvisi operativi relativi a Fedora CoreOS.

I bug possono essere segnalati sul Fedora CoreOS Tracker.

Per domande in tempo reale, non esitare a contattarci nella stanza #coreos:fedoraproject.org su Matrix.

Per dubbi e discussioni più approfondite relative a Fedora CoreOS, sono disponibili un forum e una mailing list.