Instalando o CoreOS diretamente no hardware

Este guia fornece instruções para instalar o Fedora CoreOS diretamente no hardware. Estão disponíveis três opções:

  • Instalando da ISO live

  • Instalando do PXE

  • Instalando do contêiner

Pré-requisito

Antes de instalar o FCOS, você deve ter um arquivo de configuração do Ignition e hospedá-lo em algum lugar (por exemplo, usando python3 -m http.server). Se você não tiver um, consulte Produzindo um arquivo de Ignition.

Se você tiver servidores com diferentes tipos e/ou número de discos rígidos, deve criar uma configuração de Ignition personalizada separada para cada máquina (ou classe de máquina). Um bom modelo é ter as partes comuns da configuração fatoradas em uma configuração separada do Ignition que pode ser mesclada (via HTTP ou em linha) na configuração personalizada por máquina.

Instalando da ISO live

Para instalar FCOS diretamente no hardware usando a ISO live, siga as seguintes etapas:

podman run --privileged --pull=always --rm -v .:/data -w /data \
    quay.io/coreos/coreos-installer:release download -s stable -p metal -f iso
Você pode iniciar o ambiente live em legacy (BIOS) ou no modo UEFI, independentemente do modo que o sistema operacional usará depois de instalado.
  • Grave a ISO em um disco. No Linux e macOS, você pode usar dd. No Windows, você pode usar Rufus no modo "Imagem DD".

  • Inicialize-a no sistema de destino. A ISO é capaz de trazer um sistema FCOS totalmente funcional puramente da memória (ou seja, sem usar qualquer armazenamento em disco). Uma vez inicializado, você terá acesso a um prompt de comando bash.

  • Agora você pode executar coreos-installer:

sudo coreos-installer install /dev/sda \
    --ignition-url https://example.com/example.ign

Uma vez que a instalação esteja completa, você pode simplesmente executar`sudo reboot`. Após a reinicialização, o primeiro processo de inicialização começa. É nesse momento que o Ignition carrega o arquivo de configuração e provisiona o sistema conforme especificado.

Confira coreos-installer install --help para mais opções sobre como instalar o Fedora CoreOS.

Instalando do PXE

Para instalar do PXE, siga as seguintes etapas:

  • Baixe uma imagem kernel, initramfs e rootfs de FCOS PXE:

podman run --privileged --pull=always --rm -v .:/data -w /data \
    quay.io/coreos/coreos-installer:release download -f pxe
Iniciar a imagem live PXE requer pelo menos 2 GiB de RAM. Com o argumento de kernel`coreos.live.roots url`, e 3Gib de outra forma. Você pode instalar em legacy(BIOS) ou em UEFI, independentemente do modo que o sistema operacional usará depois de instalado.
  • Siga este exemplo pxelinux.cfg para inicializar as imagens do instalador com PXELINUX:

DEFAULT pxeboot
TIMEOUT 20
PROMPT 0
LABEL pxeboot
    KERNEL fedora-coreos-32.20200726.3.1-live-kernel-x86_64
    APPEND initrd=fedora-coreos-32.20200726.3.1-live-initramfs.x86_64.img,fedora-coreos-32.20200726.3.1-live-rootfs.x86_64.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://192.168.1.101:8000/config.ign
IPAPPEND 2

Para mais detalhes sobre como usar essas informações, consulte esta publicação de blog para testar uma instalação de PXE por uma VM local e libvirt.

Instalando do contêiner

Você pode usar o contêiner coreos-installer de um sistema existente para instalar em um dispositivo de bloco conectado. Por exemplo (substitua docker por podman se necessário):

sudo podman run --pull=always --privileged --rm \
    -v /dev:/dev -v /run/udev:/run/udev -v .:/data -w /data \
    quay.io/coreos/coreos-installer:release \
    install /dev/vdb -i config.ign

Neste exemplo, coreos-installer irá baixar a última imagem de FCOS estável e instalá-la em /dev/vdb. Em seguida, ele injetará o arquivo Ignition config.ign no diretório atual na imagem. Use --help para ver todas as opções disponíveis.

Baixando e espelhando a imagem

Às vezes, é necessário fazer o download da imagem com antecedência e depois transferi-la localmente para o coreos-installer para instalação. Você pode baixar a imagem diretamente de página de download do FCOS, ou pode usar o coreos-installer download.

Ao instalar via ISO ao vivo ou PXE, não há necessidade de baixar a imagem. Já faz parte desses ambientes.

Existem duas imagens: uma para discos de setor de 512b (rotulada como "Raw" na página de download) e uma para discos nativos de setor de 4k (rotulada "Raw (4K Native)"). A menos que você saiba que tem como alvo um disco nativo de 4k, use o 512b, que é o mais comum. Consulte esta página para mais informações.

Para baixar a imagem nativa 4kn com coreos-installer download, use a opção --format 4k.raw.xz.

A imagem usa um layout de partição híbrido que suporta inicialização por BIOS e UEFI.

Quando estiver finalmente pronto para instalar o FCOS, você pode apontá-lo para sua imagem baixada usando coreos-installer install --image-url <ESPELHO_LOCAL> ou coreos-install --image-file <CAMINHO>.

PXE live

Neste modelo, em vez de realizar uma instalação "persistente" no disco, você pode executar diretamente da RAM. Isso é útil, por exemplo, cenários "sem disco". As etapas são semelhantes às acima, apenas omita os argumentos de coreos.inst e, em vez disso, faça com que o próprio sistema execute o Ignition:

DEFAULT pxeboot
TIMEOUT 20
PROMPT 0
LABEL pxeboot
    KERNEL fedora-coreos-32.20200726.3.1-live-kernel-x86_64
    APPEND initrd=fedora-coreos-32.20200726.3.1-live-initramfs.x86_64.img,fedora-coreos-32.20200726.3.1-live-rootfs.x86_64.img ignition.firstboot ignition.platform.id=metal ignition.config.url=http://192.168.1.101/config.ign systemd.unified_cgroup_hierarchy=0
IPAPPEND 2

Imagens rootfs PXE

Antes de agosto de 2020, a imagem Fedora CoreOS PXE incluía dois componentes: uma imagem kernel e uma imagem initramfs. A partir de agosto, uma terceira imagem rootfs foi adicionada. A partir de 6 de outubro, a imagem `rootfs`é obrigatória e o sistema PXE ativo não inicializará sem ela.

Para inicializar com o artefato rootfs, faça uma das seguintes alterações em sua configuração PXE:

  • Especifique apenas o arquivo initramfs como initrd e passe uma URL HTTP(S) para rootfs usando o argumento de kernel coreos.live.rootfs_url=.

  • Especifique os arquivos initramfs e rootfs como initrds em sua configuração PXE. Isso pode ser feito através de múltiplas diretivas initrd, ou usando parâmetros initrd= adicionais como argumentos do kernel.

  • Concatene os arquivos initramfs e rootfs juntos e especifique o arquivo combinado como initrd.

Para mais informações sobre esta alteração, veja este relatório de problemas.