Fornitura di Fedora CoreOS su Vultr

Questa guida mostra come fornire nuovi nodi Fedora CoreOS (FCOS) su Vultr. Vultr pubblica immagini FCOS, ma sono obsolete, quindi non consigliamo di utilizzare le immagini standard di Vultr. Invece, è possibile caricare una versione attuale di FCOS come immagine personalizzata.

Prerequisiti

Prima di configurare una macchina FCOS, è necessario avere un file di configurazione Ignition con le proprie personalizzazioni. Se non ne hai uno, consulta Produzione di un File Ignition.

Fedora CoreOS dispone di un utente predefinito core che può essere utilizzato per esplorare il sistema operativo. Se desideri utilizzarlo, completa la sua configurazione fornendo, ad esempio, una chiave SSH.

Se non desideri utilizzare Ignition per iniziare, puoi sfruttare il supporto offerto da Afterburn.

Devi anche avere accesso a un account Vultr. Gli esempi seguenti utilizzano gli strumenti da riga di comando vultr-cli e s3cmd. Entrambi questi strumenti sono disponibili in Fedora e possono essere installati tramite sudo dnf install vultr-cli s3cmd.

Utilizzando uno snapshot personalizzato

Vultr supporta la creazione di snapshot personalizzati da immagini raw pubbliche.

Questi passaggi mostrano come scaricare un’immagine FCOS e caricarla su un bucket di storage esistente, per creare uno snapshot da essa.

Vedi documentazione Vultr per ulteriori dettagli su come creare un bucket e configurare s3cmd per utilizzarlo.

Creazione snapshot

Fedora CoreOS è disponibile in tre stream, con programmi di aggiornamento diversi per stream. Questi passaggi mostrano lo stream stable come esempio, ma possono essere utilizzati anche per altri stream.

  1. Scarica l’immagine più recente adatta al tuo flusso target (oppure [scaricala e verificane l’autenticità](https://fedoraproject.org/coreos/download/) dal web).

    STREAM='stable'
    coreos-installer download -s $STREAM -p vultr -f raw.xz --decompress
  2. Usa s3cmd per caricare l’immagine raw nel tuo bucket, e prendi nota del suo URL pubblico.

    BUCKET='my-bucket'
    FCOS_VERSION='...'
    s3cmd put --acl-public "fedora-coreos-${FCOS_VERSION}-vultr.x86_64.raw" "s3://${BUCKET}/"
  3. Crea lo snapshot dal tuo URL dell’oggetto, e prendi nota del suo ID.

    IMAGE_URL='https://...'
    VULTR_API_KEY='<token>'
    vultr-cli snapshot create-url -u "${IMAGE_URL}"
Dovrai attendere che lo snapshot finisca l’elaborazione prima di usarlo. Monitora con vultr-cli snapshot list.

Avvio di un’istanza da uno snapshot

Ora puoi creare un’istanza Vultr FCOS utilizzando l’ID dello snapshot sopra.

Questo esempio crea un’istanza da 2 vCPU e 4 GB di RAM denominata instance1 nella regione del New Jersey. Usa vultr-cli regions list e vultr-cli plans list per altre opzioni.

NAME='instance1'
SNAPSHOT_ID='...'
REGION='ewr'
PLAN='vc2-2c-4gb'
vultr-cli instance create --region "${REGION}" --plan "${PLAN}" \
  --snapshot "${SNAPSHOT_ID}" --label "${NAME}" --host "${NAME}" \
  --userdata "$(cat example.ign)"
Mentre la documentazione di Vultr menziona cloud-init e script, FCOS non supporta cloud-init né la possibilità di eseguire script da user-data. Accetta solo file di configurazione Ignition.
Puoi scoprire l’IP assegnato all’istanza eseguendo vultr-cli instance list.

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

Esempio di connessione
ssh core@<indirizzo ip>