Primeiros passos com Fedora CoreOS

Introdução

Fluxos de atualização

Existem três fluxos de atualização do Fedora CoreOS (FCOS) disponíveis: stable, testing e next. Em geral, você vai querer usar o stable, mas é recomendável executar algumas máquinas no testing e no next também.

Each stream has a canonical URL representing its current state in JSON format. For example, the URL for the stable stream is: https://builds.coreos.fedoraproject.org/streams/stable.json

While Fedora CoreOS does automatic in-place updates, it is generally a good practice to start provisioning new machines from the latest images. The format of this JSON file is stable, and you can parse it to e.g. find the latest ISO/AMI/etc.

Para mais informações sobre fluxos e como alternar entre eles, consulte Fluxos de atualização.

Filosofia de provisionamento

O Fedora CoreOS não possui um disco de instalação separado. Em vez disso, toda instância inicia a partir de uma imagem de disco genérica personalizada na primeira inicialização via Ignition.

Cada plataforma possui lógica específica para recuperar e aplicar a primeira configuração de inicialização. Para implantações na nuvem, o Ignition reúne a configuração por meio de mecanismos de dados do usuário. No caso de instalação diretamente no hardware, o Ignition pode buscar sua configuração no disco ou em uma fonte remota.

Para mais informações sobre configuração, consulte a documentação Produzindo um arquivo de Ignition.

Início rápido

Inicializando em uma VM de nuvem (exemplo do AWS)

New AWS instances can be directly created and booted from public FCOS images. You can find the latest AMI for each region from the Update Streams, which is also visualized in the download page.

Se você estiver interessado apenas em explorar FCOS sem personalização adicional, pode usar diretamente um par de chaves SSH registrado para o usuário core padrão.

Para testar o FCOS dessa maneira, basta selecionar o par de chaves SSH relevante por meio de --key-name ao iniciar a nova instância:

Iniciando uma nova instância
SSH_KEY_NAME="minha-chave"
aws ec2 run-instances <other options> --image-id <ami> --key-name "${SSH_KEY_NAME}"

Para iniciar uma instância FCOS personalizada, uma configuração válida do Ignition deve ser passada com seus dados de usuário no momento da criação:

Iniciando e personalizando uma nova instância
aws ec2 run-instances <outras opções> --image-id <ami> --user-data file://example.ign
Por design, a configuração de inicialização em nuvem e os scripts de inicialização não são suportados no FCOS. Em vez disso, é recomendável codificar qualquer lógica de inicialização como unidades de serviço do systemd na configuração do Ignition.

Inicializando em um hipervisor local (exemplo do libvirt)

  1. Obtenha a última imagem adequada para a plataforma qemu (ou baixe e verifique-a da web).

    STREAM="stable"
    coreos-installer download -s "${STREAM}" -p qemu -f qcow2.xz --decompress -C ~/.local/share/libvirt/images/
  2. Inicie uma nova máquina via virt-install, usando o arquivo Ignition com suas personalizações.

    IGNITION_CONFIG="/caminho/para/exemplo.ign"
    IMAGE="/caminho/para/imagem.qcow2"
    VM_NAME="fcos-test-01"
    RAM_MB="2048"
    DISK_GB="10"
    
    virt-install --connect qemu:///system -n "${VM_NAME}" -r "${RAM_MB}" --os-variant=fedora32 \
            --import --graphics=none --disk "size=${DISK_GB},backing_store=${IMAGE}" \
            --qemu-commandline="-fw_cfg name=opt/com.coreos/config,file=${IGNITION_CONFIG}"
virt-install requer que a imagem do sistema operacional e o arquivo Ignition sejam especificados como caminhos absolutos.
Dependendo da sua versão de virt-install, você talvez não será capaz de usar --os-variant=fedora32 e irá obter um erro. Nesse caso, você deve pegar uma variante mais antiga do Fedora (--os-variant=31 ou --os-variant=fedora30, por exemplo). Você pode encontrar as variantes que são suportadas pela sua versão corrente de virt-install com osinfo-query os | grep "fedora[2-3][0-9]".
Certifique-se de que seu usuário tenha acesso a /dev/kvm. Na maioria das distribuições modernas, isso significa adicionar você ao grupo kvm.

Explorando o sistema operacional

Depois que a VM terminar a inicialização, seus endereços IP aparecerão no console serial. Por padrão, não há credenciais padrão codificadas.

Se você configurar uma chave SSH para o usuário padrão core, poderá fazer um acesso via SSH para VM e explorar o sistema operacional:

ssh core@<endereço ip>

Entrando em contato

Erros podem ser relatados no Fedora CoreOS Tracker.

Para perguntas em tempo real, sinta-se à vontade para entrar no canal IRC #fedora-coreos no freenode.

Para dúvidas e discussões mais longas relacionadas ao Fedora CoreOS, um fórum e uma lista de discussão estão disponíveis.