Provisioning Fedora CoreOS on OpenStack

Este guía muestra como aprovisionar los nuevos nodos Fedora CoreOS (FCOS) sobre un entorno en la nube OpenStack, tanto privado como público (como VEXXHOST).

Los pasos de abajo están probados con la versión OpenStack Victoria.

Pre-requisitos

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 un entorno OpenStack y una marcha openstack CLI. Normalmente,usted configurará el cliente usando un archivo clouds.yaml o por medio de variables de entorno. Si está comenzando desde cero, este entorno puede necesitar ajustes de redes, pares de claves SSH, grupos de seguridad, etc…​ Por favor consulte Documentación OpenStack par aprender más.

Descargando una Imagen OpenStack

Fedora CoreOS está designado para ser actualizado automáticamente, con planificaciones diferentes por flujo. Una vez te ha elegido el flujo pertinente, descarga, verifica, y descomprimir la última imagen de OpenStack:

Para más información sobre flujo FCOS ofrecido consulte Flujos de Actualización.
STREAM="stable"
coreos-installer download --decompress -s $STREAM -p openstack -f qcow2.xz
bash

Alternatively, you can manually download an OpenStack image from the download page. Verify the download, following the instructions on that page, and decompress it.

Subiendo la Imagen a OpenStack

Crear la imagen de FCOS en OpenStack
FILE=fedora-coreos-XX.XXXXXXXX.X.X-openstack.x86_64.qcow2
IMAGE=${FILE:0:-6} # pull off .qcow2
openstack image create --disk-format=qcow2 --min-disk=10 --min-ram=2 --progress --file="${FILE}" "${IMAGE}"
bash
Si está subiendo un disco con una imagen aarch64 entonces añada --property architecture=aarch64.
Progreso de creación de imagen de monitor por listado de la imagen
openstack image list --name="${IMAGE}"
bash

Una vez que la imagen está listada como active, está preparada para ser utilizada.

Lanzar una instancia de Máquina Virtual

Ahora que tiene una imagen creada en vuestra cuenta puedes lanzar un instancia de MV. Tendrás que especificar varias piezas de información en la instrucción, tal como sabor de instancia, información de red, clave SSH, etc…

También necesitarás la configuración de Ignition creada. Aquí está representada en la instrucción de ejemplo como ./example.ign, el cual indica un archivo dentro del directorio actual nombrado como example.ign.

Lanzar una instancia de Máquina Virtual
OPENSTACK_NETWORK="private"
OPENSTACK_KEYPAIR="mykeypair" # optional
OPENSTACK_FLAVOR="v1-standard-2"
INSTANCE_NAME="myinstance" # choose a name
openstack server create                \
     --key-name="${OPENSTACK_KEYPAIR}" \
     --network=$OPENSTACK_NETWORK      \
     --flavor=$OPENSTACK_FLAVOR        \
     --image="${IMAGE}"                \
     --user-data ./example.ign         \
     "${INSTANCE_NAME}"
bash
Especificar --key-name es opcional si proporciona una clave SSH en vuestra configuración de Ignition.
Monitor progreso de la creación de instancia con openstack server show "${NOMBRE_INSTANCIA}". Además puede utilizar el parámetro --wait cuando invoca openstack server create para bloquear hasta que está activa la instancia.

Luego, si la red de la instancia no está afrontando externamente y le gustaría un SSH a ello desde el exterior el entorno de OpenStack, tendrás que asignar una IP pública par ala instanacia:

Crear y Asignar una IP Flotante
OPENSTACK_NETWORK=public
openstack floating ip create $OPENSTACK_NETWORK

FLOATING_IP=1.1.1.1  # from just created floating IP
openstack server add floating ip "${INSTANCE_NAME}" $FLOATING_IP
bash

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

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