Produzindo um arquivo de Ignition

Este guia fornece instruções passo a passo sobre como produzir um arquivo básico do Ignition.

Os arquivos Ignition do Fedora CoreOS (FCOS) especificam a configuração para provisionamento de instâncias FCOS. O processo começa com um arquivo de configuração YAML. O FCOS Configuration Transpiler (FCCT) converte o arquivo YAML amigável em JSON amigável à máquina, que é o arquivo de configuração final do Ignition.

O FCOS recebe o arquivo Ignition apenas na primeira inicialização, aplicando toda a configuração ou falhando na inicialização em caso de erros. Depois disso, a configuração da instância deve ser imutável.

Antes de provisionar uma instância FCOS, planeje sua configuração com o conjunto completo de detalhes de personalização. Se você esqueceu algo, simplesmente corrija a configuração e reimplante a instância a partir de uma imagem nova.

Um exemplo simples

Crie um arquivo básico do Ignition que modifique o usuário FCOS padrão core para permitir o login do usuário com uma chave SSH.

As etapas gerais são as seguintes:

  1. Escreva o arquivo de configuração do Fedora CoreOS (FCC) no formato YAML.

  2. Use a imagem de contêiner quay.io/coreos/fcct:release para converter o arquivo FCC em um arquivo Ignition (JSON).

  3. Inicialize uma imagem FCOS nova com a configuração de Ignition resultante.

Pré-requisito

Este exemplo usa um par de chaves SSH públicas e privadas. Se ainda não o tiver, você pode gerar um par de chaves SSH.

A chave pública SSH será fornecida à máquina FCOS (via Ignition). A chave privada SSH precisa estar disponível para o seu usuário na estação de trabalho local, a fim de se autenticar remotamente por SSH.

Escrevendo o arquivo FCC

  1. Copie o seguinte exemplo em um editor de texto:

    variant: fcos
    version: 1.1.0
    passwd:
      users:
        - name: core
          ssh_authorized_keys:
            - ssh-rsa AAAA...
  2. Substitua a linha acima começando com ssh-rsa com o conteúdo do seu arquivo de chave pública SSH.

  3. Salve o arquivo com o nome example.fcc.

Os arquivos YAML devem ter recuo consistente. Embora fcct verifique se há erros de sintaxe, certifique-se de que o recuo corresponda ao exemplo acima. No geral, os arquivos FCC devem estar de acordo com o esquema do fcct.

Usando FCCT

fcct, o Fedora CoreOS Config Transpiler, é uma ferramenta que produz um arquivo JSON do Ignition a partir do arquivo YAML do FCC. Usando o arquivo FCC, uma máquina FCOS pode ser instruída a criar usuários, sistemas de arquivos, configurar a rede, instalar unidades systemd e muito mais.

Uma maneira fácil de usar fcct é executá-lo em um contêiner com podman:

  1. Baixe o contêiner para fcct:

    podman pull quay.io/coreos/fcct:release

  2. Execute fcct no arquivo FCC:

    podman run -i --rm quay.io/coreos/fcct:release --pretty --strict < example.fcc > example.ign

  3. Use o arquivo `example.ign`para inicializar o FCOS.

Detalhes da configuração do FCC

Consulte Provisionamento e configuração para a especificação completa de configuração.