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 production-ign.adoc.

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 alvo (ou baixe e verifique na 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