Aprovisionando Fedora CoreOS sobre VirtualBox

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

Pre-requisitos

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-42.20250526.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://example.com/config.ign
  3. Use Butane to convert the Butane config to an Ignition config.

  4. Set the /Ignition/Config guest property to the contents of the pointer Ignition config, following the instructions in [_setting_the_ignition_config].

Configurar red

By default, the VM will use NAT networking. This will share the IP address of your host. Alternatively, if you want the VM to use a different IP address than your host, you can set the VM’s network adapter to "Bridged networking".

Red NAT

By default, NAT networking does not allow inbound connections to the VM. To allow inbound SSH connections, you can forward connections to e.g. port 2222 on the host to the SSH server in the VM:

VM_NAME=my-instance
VBoxManage modifyvm "$VM_NAME" --natpf1 "guestssh,tcp,,2222,,22"

After booting the VM, you can SSH to the VM from your 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ó.