Provisionando Fedora CoreOS no QEMU

Este guia mostra como provisionar novas instâncias do Fedora CoreOS (FCOS) em um hipervisor QEMU vazio.

Pré-requisitos

Antes de provisionar uma instância FCOS, você deve ter um arquivo de configuração do Ignition contendo suas personalizações. Se você não tiver um, consulte Produzindo um arquivo de Ignition.

Você também precisa ter acesso a uma máquina host com suporte KVM. Os exemplos abaixo usam a ferramenta de linha de comando qemu-kvm, que deve ser previamente instalada separadamente.

Se estiver executando com o SELinux habilitado, certifique-se de que a imagem do sistema operacional e o arquivo Ignition estejam rotulados como svirt_home_t, por exemplo, colocando-os em`~/.local/share/libvirt/images/`.

Inicializando uma nova VM no QEMU

Esta seção mostra como inicializar uma nova VM no QEMU. Nesta plataforma, o arquivo Ignition é passado para a VM por meio do parâmetro -fw_cfg, que define a chave`opt/com.coreos/config` no dispositivo de configuração do firmware QEMU.

Você pode usar -snapshot para fazer` qemu-kvm` alocar armazenamento temporário para a VM, ou qemu-img create para primeiro criar um qcow2 em camadas.

Obtendo a imagem QCOW2

Obtenha a imagem mais recente adequada para o seu fluxo de destino (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/

Configurando uma nova VM

Inicie a nova VM usando qemu-kvm.

No modo snaphost, todas as alterações realizadas em tempo real após a inicialização são descartadas assim que a máquina é desligada. Se você precisar manter suas alterações, é recomendável configurar um disco permanente dedicado primeiro.

Iniciando FCOS com QEMU (armazenamento temporário)
qemu-kvm -m 2048 -cpu host -nographic -snapshot \
	-drive if=virtio,file=fedora-coreos-qemu.qcow2 \
	-fw_cfg name=opt/com.coreos/config,file=caminho/para/exemplo.ign \
	-nic user,model=virtio,hostfwd=tcp::2222-:22
Iniciando FCOS com QEMU (armazenamento persistente)
qemu-img create -f qcow2 -b fedora-coreos-qemu.qcow2 my-fcos-vm.qcow2
qemu-kvm -m 2048 -cpu host -nographic \
	-drive if=virtio,file=my-fcos-vm.qcow2 \
	-fw_cfg name=opt/com.coreos/config,file=caminho/para/exemplo.ign \
	-nic user,model=virtio,hostfwd=tcp::2222-:22

Explorando o sistema operacional

Com a rede do QEMU em modo de usuário, o endereço IP atribuído não pode ser acessado do host.

Os exemplos acima usam hostfwd para encaminhar seletivamente a porta SSH na máquina convidada para o host local (porta 2222).

Se você configurar um chave SSH para o usuário core padrão, poderá usar o SSH na VM por meio da porta encaminhada:

ssh -p 2222 core@localhost