Aprovisionando Fedora CoreOS sobre Vultr

Esta guía muestra como aprovisionar los nuevos nodos Fedora CoreOS (FCOS) sobre Vultr. Vultr publica imágenes FCOS, pero están desactualizadas, así que no recomendamos usar las imágenes estándar Vultr. En su lugar, se puede cargar una versión actual de FCOS como una imagen personalizada.

Prerrequisitos

Antes de aprovisionar una máquina FCOS, usted debe tener un archivo de configuración Ignition que contenga sus personalizaciones. Si no tiene uno vea Produciendo un Archivo Ignition.

Fedora CoreOS tiene un usuario core predeterminado que puede ser usado para explorar el SO. Si usted desea utilizarlo finalice su configuración proporcionando una clave SSH.

Si no desea usar Ignition para empezar, puede usar Soporte Afterburn.

También necesita tener acceso a una cuenta Vultr. Los ejemplos que siguen usan las herramientas de línea de comando vultr-cli y s3cmds. Ambas herramientas están disponibles en Fedora y se pueden instalar por medio de sudo dnf install vultr-cli s3cmd.

Usar una instantánea personalizada

Vultr soporta la creación de instantáneas personalizadas de imágenes públicas sin formato.

Estos pasos muestran como descargar una imagen FCOS y cargarla en un dispositivo de almacenamiento existente, con el objetivo de crear una instantánea a partir de eso.

Vea la documentación Vultrpara obtener más detalles sobre como crear un depósito y configurar s3cmd para usarlo.

Crear una instantánea

Fedora CoreOS viene en tres flujos diferentes, con diferentes calendarios de actualización por flujo. Estos pasos muestran el flujo stable como ejemplo, pero se pueden usar para los otros flujos también.

  1. Obtenga la última imagen adecuada para su flujo objetivo (o descárguela y verifíquela desde la red).

    STREAM='stable'
    coreos-installer download -s "${STREAM}" -p vultr -f raw.xz --decompress
  2. Use s3cmd para cargar la imagen sin formato a su depósito y anote su URL pública.

    BUCKET='my-bucket'
    FCOS_VERSION='...'
    s3cmd put --acl-public "fedora-coreos-${FCOS_VERSION}-vultr.x86_64.raw" "s3://${BUCKET}/"
  3. Create the snapshot from your object URL, and note its ID.

    IMAGE_URL='https://...'
    VULTR_API_KEY='<token>'
    vultr-cli snapshot create-url -u "${IMAGE_URL}"
You’ll need to wait for the snapshot to finish processing before using it. Monitor with vultr-cli snapshot list.

Launching an instance from a snapshot

You can now create a FCOS Vultr instance using the snapshot ID above.

This example creates a 2 vCPU, 4GB RAM instance named instance1 in the New Jersey region. Use vultr-cli regions list and vultr-cli plans list for other options.

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)"
While the Vultr documentation mentions cloud-init and scripts, FCOS does not support cloud-init or the ability to run scripts from user-data. It accepts only Ignition configuration files.
You can find out the instance’s assigned IP by running vultr-cli instance list.

You now should be able to SSH into the instance using the associated IP address.

Example connecting
ssh core@<ip address>