Aprovisionando Fedora CoreOS sobre VirtualBox

Esta guía muestra como aprovisionar nuevos nodos Fedora CoreOS (FCOS) sobre el hipervisor VirtualBox.

Prerrequisitos

Antes de aprovisionar una máquina FCOS, debe tener un archivo de configuración Ignition que contenga sus personalizaciones. Si no tiene uno, consulte 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.

Descargar la OVA

Fedora CoreOS está diseñado para ser actualizado automáticamente, con diferentes calendarios por flujo. Una vez que haya elegido el flujo relevante, puede descargar el último OVA:

STREAM="stable"
coreos-installer download -s $STREAM -p virtualbox -f ova

Alternativamente, las imágenes OVA pueden ser descargadas manualmente desde la página de descargas.

Arrancar una MV nueva en VirtualBox

Puede configurar una máquina virtual VirtualBox a través de IGU o por medio del CLI VBoxManage. Esta guia utilizará el CLI para configurar la MV.

Importar el OVA

Para importar el OVA, utilice Importar VBoxManage:

VM_NAME=mi-instancia
VBoxManage import --vsys 0 --vmname "$VM_NAME" fedora-coreos-43.20251120.3.0-virtualbox.x86_64.ova

Ajustar la configuración Ignition

Ignition lee su configuración desde el /Ignition/Config propiedad del huésped de la máquina virtual. Al presente, las propiedades del huésped solo pueden estar fijadas desde la línea de instrucción del huésped, y no por medio del IGU. Para establecer la config de Ignition para una MV:

IGN_PATH="/ruta/para/config.ign"
VM_NAME=mi-instancia
VBoxManage guestproperty set "$VM_NAME" /Ignition/Config "$(cat $IGN_PATH)"

Limitaciones del tamaño de config de Ignition

La longitud de la propiedad de informe de huésped /Ignition/Config es restringida por la longitud máxima de una línea de instrucción en su sistema operativo huésped. Los límites específicos del SO son aproximadamente:

SO

Límite

Linux

128 KiB

macOS

256 KiB

Windows shells

8 KiB

Si su config de Ignition es más largo que este límite, puede hospedar la config en un servidor HTTPS y referir a esto desde un pequeño puntero config, tal como sigue:

  1. Suba su config Ignition a un servidor HTTPS.

  2. Crear un config puntero a Butane que especifique la URL de su config de Ignition completo:

    variant: fcos
    version: 1.6.0
    ignition:
      config:
        replace:
          source: https://ejemplo.com/config.ign
  3. Emplear Butane para convertir la configuración Butane a una configuración de Ignition.

  4. Establece la propiedad /Ignition/Config invitada al contenido del puntero de configuración Ignition, seguida de las instrucciones dentro de [_setting_the_ignition_config].

Configurar red

Por defecto, la MV utilizará la red NAT. Esto compartirá la dirección IP de su host. Alternativamente, si desea que la MV utilice una dirección IP distinta a la del host, puede establecer el adaptador de la red de la MV a «Red puenteada».

Red NAT

Por defecto, la red NAT no concede conexiones vinculadas a la MV. Para conceder conexiones SSH vinculadas, puedes reenviar conexiones a p.e. el puerto 2.222 en el host para el servidor SSH dentro de la MV:

NOMBRE_MV=mi-instancia
VBoxManage modifyvm "$NOMBRE_MV" --natpf1 "guestssh,tcp,,2222,,22"

Tras arrancar la MV, puede hacer un SSH a la MV desde su host:

ssh core@localhost -p 2222

Red puenteada

Si quiere que la MV utilice una dirección IP distinta que su huésped, puede poner el adaptador de la red de la MV a «Red puenteada».

  1. Determine el adaptador de red que sería punteada para la MV. Para obtener el nombre de su adaptador de red predeterminada del hospedaje, puede ejecutar:

    ip route ls default | grep -Po '(?<= dev )(\S+)'
  2. Modifica los parámetros de adaptador de la red MV:

    VM_NAME=mi-instancia
    ADAPTER=nombre-adaptador
    VBoxManage modifyvm "$NOMBRE_MV" --nic1 bridged --bridgeadapter1 "$ADAPTADOR"

Arrancar la MV

Ahora puede arrancar la MV que ha configurado:

VM_NAME=my-instance
VBoxManage startvm "$NOMBRE_MV"

Solución de problemas del primer arrancado

Puede encontrar problemas con su config de Ignition que requiere acceder a los mensajes de bitácora de la consola la cual aparece durante el primer arranque. Para obtener una copia de la bitácora de consola puede adjuntar un dispositivo serial a la MV antes de arrancar.

Para adjuntar un dispositivo serie a una MV apagada:

VM_NAME=mi-instancia
VM_LOG=$(realpath .)/$VM_NAME.log
VBoxManage modifyvm "$VM_NAME" --uart1 0x3F8 4
VBoxManage modifyvm "$VM_NAME" --uartmode1 file "$VM_LOG"

Cuando encienda la MV, la salida por consola estará en la bitácora para el archivo que usted especificó.