Produzindo uma configuração do Ignition
Visão geral do Ignition
Ignition é um utilitário de provisionamento que lê um arquivo de configuração (em formato JSON) e provisiona um sistema Fedora CoreOS baseado nessa configuração. Os componentes configuráveis incluem armazenamento e sistemas de arquivos, unidades do systemd e usuários.
O Ignition é executado apenas uma vez durante a primeira inicialização do sistema (enquanto estiver no initramfs). Como o Ignition é executado tão cedo no processo de inicialização, ele pode reparticionar discos, formatar sistemas de arquivos, criar usuários e gravar arquivos antes que o espaço do usuário comece a inicializar. Como resultado, os serviços do systemd já são gravados no disco quando o systemd é iniciado, acelerando o tempo de inicialização.
Processo de configuração
As configurações do Ignition são formatadas como JSON, que é rápido e fácil de ler por uma máquina. No entanto, esses arquivos não são fáceis de ler ou escrever. A solução é um processo de configuração em duas etapas que é amigável tanto para humanos quanto para máquinas:
-
Produzir uma configuração Butane formatada em YAML.
-
Executar o Butane para converter o arquivo YAML em uma configuração JSON do Ignition.
Durante o processo de transpilação, Butane verifica a sintaxe do arquivo YAML, que pode detectar erros antes de usá-lo para iniciar o sistema FCOS.
Depois de ter um arquivo do Ignition (.ign
), você pode usá-lo para inicializar um sistema FCOS em uma VM ou instalá-lo em uma máquina física.
Try to plan your configuration with the full set of customization details before provisioning a Fedora CoreOS instance. But don’t worry if you forgot something as you can fix the configuration and re-deploy the instance from a fresh image. |
Obter Butane
Você pode executar o Butane como um contêiner com docker ou podman ou baixá-lo como um binário independente.
Salvo indicação em contrário, os novos lançamentos de Butano são compatíveis com versões anteriores. |
Através de um contêiner com podman
ou docker
Você pode obter Butano de um contêiner hospedado em quay.io:
podman pull quay.io/coreos/butane:release
A tag release rastreia o lançamento mais recente e a tag latest rastreia o branch de desenvolvimento do Git.
|
Execute o Butane usando entrada e saída padrão ou usando arquivos:
podman run --interactive --rm quay.io/coreos/butane:release \
--pretty --strict < sua_config.bu > transpiled_config.ign
podman run --interactive --rm --security-opt label=disable \
--volume ${PWD}:/pwd --workdir /pwd quay.io/coreos/butane:release \
--pretty --strict sua_config.bu > transpiled_config.ign
Para simplificar a digitação, você também pode adicionar o seguinte alias à configuração do shell:
alias butane='podman run --rm --interactive \
--security-opt label=disable \
--volume ${PWD}:/pwd --workdir /pwd \
quay.io/coreos/butane:release'
Esses exemplos usam podman, mas você pode usar o docker de maneira semelhante. |
Instalando via pacotes de distribuição
Instalando via cliente do gerenciador de pacotes do Windows (winget)
Butane está disponível como um pacote winget:
winget install --id Fedora.CoreOS.butane
Binário independente
Linux
Para usar o binário do Butane no Linux, siga estas etapas:
-
Caso ainda não tenha feito isso, baixe as chaves de assinatura do Fedora e importe-as:
curl https://fedoraproject.org/fedora.gpg | gpg --import
-
Baixe a versão mais recente do Butane e a assinatura separada na página de lançamentos.
-
Verifique com gpg:
gpg --verify butane-x86_64-unknown-linux-gnu.asc
macOS
Para usar o binário do Butane no macOS, siga estas etapas:
-
Se ainda não o fez, baixe as chaves de assinatura do Fedora e importe-as:
curl https://fedoraproject.org/fedora.gpg | gpg --import
-
Baixe a versão mais recente do Butane e a assinatura separada na página de lançamentos.
-
Verifique com gpg:
gpg --verify butane-x86_64-apple-darwin.asc
Windows
Para usar o binário do Butane no Windows, siga estas etapas:
-
Se ainda não o fez, baixe as chaves de assinatura do Fedora e importe-as:
Invoke-RestMethod -Uri https://fedoraproject.org/fedora.gpg | gpg --import
-
Baixe a versão mais recente do Butane e a assinatura separada na página de lançamentos.
-
Verifique com gpg:
gpg --verify butane-x86_64-pc-windows-gnu.exe.asc
Example
Crie uma configuração básica do Ignition que modifique o usuário Fedora CoreOS padrão core
para permitir o login do usuário com uma chave SSH.
As etapas gerais são as seguintes:
-
Escreva a configuração do Butane no formato YAML.
-
Use o Butane para converter a configuração do Butane em uma configuração do Ignition (JSON).
-
Inicialize uma imagem Fedora CoreOS 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 Fedora CoreOS (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 a configuraçãodo Butane
-
Copie o seguinte exemplo em um editor de texto:
variant: fcos version: 1.5.0 passwd: users: - name: core ssh_authorized_keys: - ssh-rsa AAAA...
-
Substitua a linha acima começando com
ssh-rsa
com o conteúdo do seu arquivo de chave pública SSH. -
Salve o arquivo com o nome
example.bu
.
Os arquivos YAML devem ter recuo consistente. Embora o Butane verifique erros de sintaxe, certifique-se de que o recuo corresponda ao exemplo acima. No geral, as configurações do Butane devem estar em conformidade com o formato especificação de configuração do Butane. |
Usando o Butane
-
Execute o Butane na configuração do Butane:
butane --pretty --strict example.bu > example.ign
-
Use o arquivo `example.ign`para inicializar o Fedora CoreOS.
Se estiver usando Butane no Windows, > example.ign criará um arquivo Ignition codificado em UTF-16. Isso pode impedir que o Fedora CoreOS inicialize corretamente. Use --output example.ign em vez disso.
|
Want to help? Learn how to contribute to Fedora Docs ›