Empezando con Fedora CoreOS

Introducción

Flujos

Hay tres flujos de actualización de Fedora CoreOS (FCOS) disponibles: stable, testing y next. En general, usted deseará usar stable, pero es recomendable ejecutar algunas máquinas sobre testing y next también y proporcionar comentarios.

Cada flujo tiene una URL canónica que representa su estado actual en formato JSON, conocidas como "metadatos de flujo". Por ejemplo, la URL de metadatos de flujos para stable es: https://builds.coreos.fedoraproject.org/streams/stable.json

Para la automatización de las instalaciones Fedora CoreOS, se espera que usted interactúe con los metadatos de flujo. Si bien Fedora CoreOS realiza actualizaciones automáticas in situ, generalmente es una práctica recomendada comenzar a aprovisionar nuevas máquinas a partir de las imágenes más recientes.

Para más información sobre el uso de los metadatos de flujo, vea Metadatos de Flujo. Para más información sobre los flujos disponibles, vea Actualizar Flujos.

Filosofía de Aprovisionamiento

Fedora CoreOS no tiene un disco de instalación separado. En su lugar, cada instancia comienza a partir de una imagen de disco genérica que se personaliza en el primer arranque por medio de Ignition.

Cada plataforma tiene una lógica específica para recuperar y aplicar la primera configuración de arranque. Para despliegues en la nube, Ignition recopila la configuración a través de mecanismos de datos de usuario. En el caso de bare metal, Ignition puede recuperar su configuración desde el disco o desde una fuente remota.

Para más información sobre configuración, vea la documentación para Producir un Archivo Ignition.

Inicio Rápido

Arrancar sobre una MV en la nube (Ejemplo AWS)

Las nuevas instancias AWS pueden ser creadas desde las imágenes FCOS públicas. Puede encontrar la última AMI para cada región desde la página de descarga.

Si está interesado en explorar FCOS sin más personalización, puede usar un pareja de claves SSH registradas para el usuario core predeterminado.

Para probar FCOS de esta manera, necesitará ejecutar el comando aws ec2 run-instances y proporciona alguna información para obtener la instancia activa y ejecutando. Lo siguiente es un comando de ejemplo que puede utilizar:

Lanzando una nueva instancia
NAME='instance1'
SSHKEY='my-key'     # el nombre de su clave SSH: `aws ec2 describe-key-pairs`
IMAGE='ami-xxx'     # el ID AMI encontrado en la página descargada
DISK='20'           # el tamaño del disco duro
REGION='us-east-1'  # la región destino
TYPE='m5.large'     # el tipo de instancia
SUBNET='subnet-xxx' # la subred `aws ec2 describe-subnets`
SECURITY_GROUPS='sg-xx' # el grupo de seguridad `aws ec2 describe-security-groups`
aws ec2 run-instances                     \
    --region $REGION                      \
    --image-id $IMAGE                     \
    --instance-type $TYPE                 \
    --key-name $SSHKEY                    \
    --subnet-id $SUBNET                   \
    --security-group-ids $SECURITY_GROUPS \
    --tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=${NAME}}]" \
    --block-device-mappings "VirtualName=/dev/xvda,DeviceName=/dev/xvda,Ebs={VolumeSize=${DISK}}"
Usted puede encontrar la IP asignada de la instancia ejecutando`aws ec2 describe-instances`

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

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

Un ejemplo más completo que permite la personalización se describe en Aprovisionando Fedora CoreOS en Servicios Web de Amazon.

Arrancar en un hipervisor local (ejemplo libvirt)

  1. Obtenga la última imagen adecuada para la plataforma qemu utilizando coreos-installer (o descargue y verifique esto desde la web). Puede utilizar coreos-installer como un contenedor, o en instalación de Fedora desde los repos.

    STREAM="stable"
    # como un binario instalado:
    coreos-installer download -s $STREAM -p qemu -f qcow2.xz --decompress -C ~/.local/share/libvirt/images/
    # o como un contenedor:
    podman run --pull=always --rm -v "${HOME}/.local/share/libvirt/images/:/data" -w /data \
        quay.io/coreos/coreos-installer:release download -s $STREAM -p qemu -f qcow2.xz --decompress
  2. Lanza una máquina nueva por medio de virt-install, utilizando el archivo Ignition con sus personalizaciones.

    IGNITION_CONFIG="/path/to/example.ign"
    IMAGE="/path/to/image.qcow2"
    VM_NAME="fcos-test-01"
    VCPUS="2"
    RAM_MB="2048"
    STREAM="stable"
    DISK_GB="10"
    # Para x86 / aarch64,
    IGNITION_DEVICE_ARG=(--qemu-commandline="-fw_cfg name=opt/com.coreos/config,file=${IGNITION_CONFIG}")
    
    # Para s390x / ppc64le,
    IGNITION_DEVICE_ARG=(--disk path="${IGNITION_CONFIG}",format=raw,readonly=on,serial=ignition,startup_policy=optional)
    
    # Configure la etiqueta correcta de SELinux para permitir acceder a la config
    chcon --verbose --type svirt_home_t ${IGNITION_CONFIG}
    
    virt-install --connect="qemu:///system" --name="${VM_NAME}" --vcpus="${VCPUS}" --memory="${RAM_MB}" \
            --os-variant="fedora-coreos-$STREAM" --import --graphics=none \
            --disk="size=${DISK_GB},backing_store=${IMAGE}" \
            --network bridge=virbr0 "${IGNITION_DEVICE_ARG[@]}"
virt-install requiere ambos imagen de SO y archivo Ignition a ser especificado como rutas absolutas.
Depender en su versión de virt-install, tal vez no es capaz de utilizar --os-variant=fedora-coreos-* y obtendrá un error. En este caso, tomaría una variante Fedora más antigua (--os-variant=fedora31 por ejemplo). Puede encontrar las variantes que están admitidas por usted en la versión actual de virt-install con osinfo-query os | grep '^\s*fedora'.
DISK_GB sería al menos tan grande como el tamaño por defecto de la imagen. Para Fedora CoreOS, esto actualmente es de 10 GB.
Asegúrese que su usuario ha accedido a /dev/kvm. El predeterminado es permitirlo acceder para cada uno, pero en algunas ditribuciones puede necesitar añadirse al grupo kvm.
Puede escapar fuera de la consola serial presionando CTRL + ].

Si ha establecido una clave SSH para el usuario core predeterminado, puede hacer SSH en la MV y explorar el SO:

ssh core@<dirección ip>

Explorar el SO

Una vez que la MV ha terminado de arrancar, sus direcciones IP aparecerán en la consola. Por diseño, no hay credenciales predeterminadas codificadas.

Si ha establecido una clave SSH para el usuario core predeterminado, puede hacer SSH en la MV y explorar el SO:

ssh core@<dirección ip>

Estar en contacto

Recomendamos que todos los usuarios se suscriban a la lista de correo de bajo volumen coreos-status para ver noticias operativas relacionadas con Fedora CoreOS.

Los errores pueden ser reportados a Fedora CoreOS Tracker.

Para cuestiones en directo, no dude en comunicarse con el canal #coreos:fedoraproject.org room on Matrix.

Para dudas y discusiones más largas relacionadas con Fedora CoreOS, están disponibles un foro y unahttps://lists.fedoraproject.org/archives/list/coreos@lists.fedoraproject.org/[lista de correo] .