Proporcionar Fedora CoreOS en 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, debes tener un archivo de configuración Ignition que contenga sus personalizaciones. Si no tienes uno consulta Producción de 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.

These steps show how to download an FCOS image and upload it to an existing storage bucket, in order to create a snapshot from that.

Vea la documentación Vultr para 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 destino (o descárguela y verifíquela desde la web).

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

    BUCKET='mi-depósito'
    FCOS_VERSION='...'
    s3cmd put --acl-public "fedora-coreos-${FCOS_VERSION}-vultr.x86_64.raw" "s3://${BUCKET}/"
  3. Crea la captura desde su objeto URL, y anota su ID.

    IMAGE_URL='https://...'
    VULTR_API_KEY='<vale>'
    vultr-cli snapshot create-url -u "${IMAGE_URL}"
Necesitarás esperar que la captura finalice el proceso antes de utilizarlo. Monitoriza con vultr-cli snapshot list.

Lanzar una instancia desde una captura

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

Este ejemplo crea dps vCPU, de 4GB de RAM en la instancia nombrada como instance1 en la región de New Jersey. Para otras opciones utilice vultr-cli regions list y vultr-cli plans list.

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)"
Si bien la documentación de Vultr menciona cloud-init y scripts, FCOS no admite cloud-init ni la capacidad de ejecutar scripts desde datos de usuario. Solo acepta archivos de configuración de Ignition.
Puedes averiguar la IP asignada a la instancia ejecutando vultr-cli instance list.

Ahora serías capaz de acceder por SSH a la instancia usando la dirección IP asociada.

Ejemplo al conectar
ssh core@<dirección ip>