Produciendo una configuración Ignition
Visión general de Ignition
Ignition es una utilidad de aprovisionamiento que lee un archivo de configuración (en formato JSON) y aprovisiona a un sistema basado en Fedora CoreOS sobre esta configuración. Los componentes configurables incluyen almacenamiento y sistemas de archivos, unidades systemd y usuarios.
Ignition corre sólo una vez durante el primera arranque del sistema (durante el initramfs). Como Ignition corre tan pronto en el proceso de arranque, puede reparticionar los discos, formatear sistemas de archivos, crear usuarios y escribir archivos antes de que el espacio de usuario empieza a arrancar. Como resultado, los servicios systemd están ya escritos en el disco cuando systemd se inicia, acelerando el tiempo de arranque.
Proceso de configuración
Las configuraciones Ignition están formateadas como JSON, los que es más rápido y fácil para que la máquina lo lea. Sin embargo, esto archivos no son fáciles para que los humanos los lean o escriban. La solución es un proceso de configuración en dos pasos que es amigable tanto para los humanos como para las máquinas:
-
Produce una configuración Butane formateada YAML.
-
Ejecutar Butane para convertir el archivo YAML en un archivo de configuración JSON Ignition.
Durante el proceso de transpilación, Butane verifica la sintaxis del archivo YAML, que puede detectar errores antes de usarlo para iniciar el sistema FCOS.
Una vez que tiene un archivo Ignition (.ign
), puede usarlo para arrancar un sistema FCOS en una MV o instalarlo en bare metal.
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. |
Obtener Butane
Puede ejecutar Butane como contenedor con docker o podman o descargarlo como un binario independiente.
A menos que se indique lo contrario, las nuevas versiones de Butane son compatibles hacia atrás con las versiones antiguas. |
Por medio de un contenedor con podman
o docker
Puede obtener Butane desde un contenedor alojado en quay.io:
podman pull quay.io/coreos/butane:release
El indicador release rastrea la versión más reciente y el indicador latest rastrea la rama en desarrollo en Git.
|
Ejecute Butane usando bien la entrada y la salida estándar o usando archivos:
podman run --interactive --rm quay.io/coreos/butane:release \
--pretty --strict < your_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 your_config.bu > transpiled_config.ign
Para hacerlo más sencillo de teclear, puede también añadir el siguiente alias en su configuración de shell:
alias butane='podman run --rm --interactive \
--security-opt label=disable \
--volume ${PWD}:/pwd --workdir /pwd \
quay.io/coreos/butane:release'
Estos ejemplos usan podman, pero puede usar docker de una manera similar. |
Instalar por medio de la distribución de paquetes
Instalar por medio de MacPorts
Butane está disponible como paquete MacPorts:
sudo port install butane
Instalar por medio de Windows Package Manager Client (winget)
Butane está disponible como un paquete winget:
winget install --id Fedora.CoreOS.butane
Binario aislado
Linux
Para usar Butane en Linux, siga estos pasos:
-
Si no lo ha hecho ya, descargue las claves de firma de Fedora e impórtelas:
curl https://fedoraproject.org/fedora.gpg | gpg --import
-
Descargue la última versión de Butane y la firma separada de la página de la versión.
-
Verifique con gpg:
gpg --verify butane-x86_64-unknown-linux-gnu.asc
macOS
Para usar el binario de Butane en macOS, siga los siguientes pasos:
-
Si no lo ha hecho ya, descargue las claves de firma de Fedora e impórtelas:
curl https://fedoraproject.org/fedora.gpg | gpg --import
-
Descargue la última versión de Butane y la firma separada de la página de la versión.
-
Verifique con gpg:
gpg --verify butane-x86_64-apple-darwin.asc
Windows
Para usar el binario Butane en Windows, siga estos pasos:
-
Si no lo ha hecho ya, descargue las claves de firma de Fedora e impórtelas:
Invoke-RestMethod -Uri https://fedoraproject.org/fedora.gpg | gpg --import
-
Descargue la última versión de Butane y la firma separada de la página de la versión.
-
Verifique con gpg:
gpg --verify butane-x86_64-pc-windows-gnu.exe.asc
Example
Crear una configuración básica Ignition que modifica el usuario predeterminado de Fedora CoreOS core
para permitir a este usuario acceder con una clave SSH.
Los pasos generales son los siguientes:
-
Escriba la configuración Butane en el formato YAML.
-
Use Butane para convertir la configuración Butane en una configuración Ignition (JSON).
-
Arranque una imagen fresca de Fedora CoreOS con la configuración Ignition resultante.
Requisito Previo
Este ejemplo usa un par de claves pública y privada SSH. Si no las tiene todavía puede generar unhttps://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/system_administrators_guide/index#sec-SSH[par de claves] SSH.
La clave pública SSH se puede aprovisionar a la máquina Fedora CoreOS (por medio de Ignition). La clave privada SSH necesita estar disponible para su usuario en la estación de trabajo local con el objetivo de autenticarse remotamente sobre SSH.
Escribir la configuración Butane
-
Copie el siguiente ejemplo en un editor de texto:
variant: fcos version: 1.5.0 passwd: users: - name: core ssh_authorized_keys: - ssh-rsa AAAA...
-
Reemplace la línea de arriba que empieza con
ssh-rsa
con los contenidos de su archivo de clave pública SSH. -
Guarde el archivo con el nombre
example.bu
.
Los archivos YAML deben tener una sangría consistente. Aunque Butane comprueba los errores sintácticos, compruebe que la sangría coincide con el ejemplo de arriba. En general, las configuraciones de Butane deben ser conformes al formato de especificación de configuración de Butane. |
Usar Butane
-
Ejecute Butane sobre la configuración Butane:
butane --pretty --strict example.bu > example.ign
-
Use el archivo
example.ign
para arrancar Fedora CoreOS..
Si usa Butane en Windows, > example.ign`creará un archivo Ignition codificado UTF-16. Esto puede evitar que Fedora CoreOS arranque apropiadamente. Use en su lugar `--output example.ign .
|
Want to help? Learn how to contribute to Fedora Docs ›