Migrando do CoreOS Container Linux (CL) para o Fedora CoreOS (FCOS)

Fedora CoreOS é o sucessor oficial do CoreOS Container Linux, que reached its end of life no dia 26/05/2020. Essa pagina tenta documentar as diferenças entre CL e o FCOS para facilitar a transição para o FCOS.

Introdução

To migrate from CL to FCOS, you must convert your old Container Linux Configs, Ignition configs, or cloud-config files to a Butane config and adapt the contents for FCOS. Since many of the configuration details have changed, you should reference this page and the CL migration issue on GitHub.

Mudanças na instalação

As seguintes mudanças foram feitas para o processo de instalação:

  • O script coreos-install foi substituído por coreos-installer. Ele oferece funcionalidades similares.

  • O parâmetro de configuração do kernel coreos.autologin atualmente não é suportado no FCOS. Para acesso por motivos de recuperação, existem instruções disponíveis aqui.

  • Algumas plataformas CL, como Vagrant, ainda não são suportadas no FCOS. Vá na Página de Download para ver os tipos de imagem disponíveis.

Mudanças no empacotamento de Software

  • etcd não está incluída no FCOS. Vá em Rodando etcd para instruções de como rodar como um contêiner no FCOS.

  • flannel não é incluído no FCOS.

  • O runtime do contêiner do Podman é incluído no FCOS e é o runtime de contêiner recomendado. O runtime de contêiner rkt não é incluso.

  • FCOS não possui um mecanismo recomendado para selecionar a versão de docker.

  • A configuração de rede agora é realizada pelo NetworkManager ao invés de systemd-networkd.

  • Para sincronização de tempo, use chronyd ao invés de ntpd ou systemd-timesyncd.

  • Automatic updates are now coordinated by Zincati, as described in the Zincati documentation. The rollback mechanism (via grub) is now provided by rpm-ostree.

  • The functionality of the reboot manager (locksmith) is rolled into Zincati.

  • A ferramenta update-ssh-keys não é provida no FCOS. Usuários do sshd usam o helper program para ler arquivos chave diretamente do ~/.ssh/authorized_keys.d.

Mudanças na configuração

When writing Butane configs, note the following changes:

  • coreos-metadata is now Afterburn. The prefix of the metadata variable names has changed from COREOS_ to AFTERBURN_, and the following platform names have changed:

  • Por default, FCOS não permite logins via SSH por senha. Nós recomendamos configurar chaves SSH ao invés disso. Se necessário, você pode habilitar autenticação SSH por senha.

  • Porque usermod ainda não é totalmente funcional no FCOS, há um grupo docker no arquivo etc/group. Isso é uma medida para facilitar a transição para o FCOS. A equipe está trabalhando em um usermod mais funcional, com o tempo o grupo docker não será incluso por default. Veja o docker group issue.

  • There is no way to create directories below the / directory. Changes are restricted to /etc and /var. Refer to the documentation for the storage node of the Butane config for details about writing directories and files to FCOS.

  • Butane configs no longer have a separate section for network configuration. Use the Butane files section to write a NetworkManager key file instead.

Notas do operador

  • FCOS provê best-effort stability, e pode ocasionalmente incluir regressões ou mudanças novas para alguns casos ou cargas de trabalho.

  • CL had three release channels: alpha, beta, and stable. The FCOS production release streams are next, testing, and stable, with somewhat different semantics.

  • Geralmente, o confinamento do SELinux deve funcionar da mesma forma que no Fedora.

  • Para realizar o deploy de uma configuração Ignition como parte de uma imagem PXE (uma "OEM custom" na terminologia CL), siga o mesmo processo que em CL, mas posicione o arquivo config.ign no root do arquivo.

  • No CL, dados de métricas/telemetria foi coletada pelo mecanismo de atualização. No FCOS, os dados são coletados (sem identificadores únicos) por fedora-coreos-pinger.

    • Para prevenir qualquer informação de ser coletada ou transmitida pelo pinger, você pode desabilitar os reports. Para fazer isso, coloque um trecho de configuração em /etc/fedora-coreos-pinger/config.d/99-disable-reporting.toml contendo o seguinte:

      [reporting]
      enabled = false
  • Clientes CLI para nuvem não são inclusos no FCOS. Há uma iniciativa para criar um contêiner "tools" para rodar no FCOS.

  • Quando estiver abrindo um arquivo existente em um diretório grudento, o comportamento difere do CL. Veja O commit relevante do systemD.

  • CL left Simultaneous Multi-Threading (SMT) enabled but advised users to turn it off if their systems were vulnerable to certain issues such as L1TF or MDS. By default, FCOS automatically disables SMT for vulnerable systems.

  • Geralmente, docker usa a configuração default do Fedora, que é diferente em vários aspectos. Notavelmente o driver para login é colocado para journald e o live-restore é habilitado.

Notas de implementação

  • O sistema de arquivos default no CL era ext4. No FCOS, o default é o xfs.

  • Enquanto o CL usava ativação por socket do systemd para o sshd, FCOS inicia sshd na inicialização por default.

  • CL possuia uma "Partição OEM" em /usr/share/oem com uma configuração do GRUB customizável e algumas ferramentas adicionais, mas o FCOS não possui isso.