Proporcionar Fedora CoreOS en Exoscale

Esta guía muestra como aprovisionar instancias nuevas de Fedora CoreOs (FCOS) en Exoscale Cloud Hosting.

Prerrequisitos

Antes de aprovisionar una máquina FCOS, debes tener un archivo de configuración Ignition que contenga sus personalizaciones. Si no tiene uno consulte 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 utilizar Ignition para comenzar, puedes utilizar el Soporte de Afterburn.

También necesita tener acceso a una cuenta de Exoscale. Registrarse si no tiene una.

Subir una imagen FCOS como una Plantilla personalizada

Exoscale ofrece plantillas oficiales de FCOS, pero actualmente están desactualizadas. Por ahora, recomendamos crear la suya propia. Siga el progreso de la solución en #1166.

Exoscale ofrece Plantillas personalizadas para poder subir cualquier imagen de nube. Para crear una Plantilla Personalizada primero debe descargar y descomprimir la imagen.

Descarga y descomprime la imagen QCOW2 con el coreos-installer
STREAM="stable"
coreos-installer download -d -s $STREAM -p exoscale -f qcow2.xz

Alternativamente, las imágenes QCOW2 se pueden descargar desde la página de descarga y descomprimirlas manualmente.

A continuación, puede acceder a Registrar una Plantilla Personalizada. Esto se puede hacer desde el Portal Web o desde el CLI de Exoscale. Cualquier opción requiere la imagen sin comprimir para subirla a un lugar público y que se proporcionen la URL y una suma de comprobación MD5 durante el registro. Una opción es utilizar el almacenamiento de objetos proporcionado por Exoscale para alojar la imagen.

Subir al Almacén de Objeto y crear Plantilla Personalizada
# Establezca la versión y calcule la suma de comprobación
FCOS_VERSION='...'
FILE="fedora-coreos-${FCOS_VERSION}-exoscale.x86_64.qcow2"
CHECKSUM=$(md5sum "${FILE}" | cut -d " " -f 1)

# Subir al almacenamiento de objetos
BUCKET='depósito-nuevo'
exo storage mb "sos://${BUCKET}"
exo storage upload --acl public-read "${FILE}" "sos://${BUCKET}/image-import/"

# Crea la plantilla utilizando la URL del depósito y el comprobante CHECKSUM
URL=$(exo storage show "sos://${BUCKET}/image-import/${FILE}" --output-template "{{.URL}}")
TEMPLATE="fedora-coreos-${FCOS_VERSION}"
exo compute instance-template register --boot-mode=uefi $TEMPLATE $URL $CHECKSUM

Luego puedes ver la plantilla usando exo compute instance-template show --visibility=private $TEMPLATE.

Lanzar una instancia de Máquina Virtual (MV)

Puede aprovisionar una instancia de FCOS utilizando Exoscale Portal web o a través de CLI de Exoscale.

Necesitará al menos la versión v1.54.0 del CLI Exoscale.
No use el argumento --cloud-init-compress en la CLI. Esto provoca que la configuración de Ignition se envíe comprimida a la instancia y Ignition no lo tolera.
Añada su clave-ssh
exo compute ssh-key register key-name /ruta/a/clave
Lanzar una instancia nueva con Exoscale CLI
NAME='worker'
TYPE='standard.medium'
DISK='10' # en GiB
SSHKEY='key-name'
TEMPLATE=$TEMPLATE # nombre de plantilla establecida arriba
exo compute instance create "${NAME}" \
    --disk-size $DISK \
    --ssh-key "${SSHKEY}" \
    --template $TEMPLATE \
    --template-visibility private \
    --cloud-init "path/to/ignition-file.ign"
Si tan solo desea el acceso SSH y no requieres ninguna personalización, no necesitas pasar ningún archivo de Ignition y puedes omitir el argumento --cloud-init.
Puedes encontrar fuera de la IP asignada de la instancia ejecutando exo compute instance show "${NAME}"

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>