Tabla de contenidos
Introducción
El instalador del servidor para 20.04 admite un nuevo modo de operación: instalación automatizada, instalación automática para abreviar. También es posible que conozca esta función como instalación desatendida o sin intervención o preestablecida.
La instalación automática le permite responder a todas esas preguntas de configuración con anticipación con una configuración de instalación automática y permite que el proceso de instalación se ejecute sin ninguna interacción.
Diferencias con la preselección del instalador de Debian
los preseeds son la forma de automatizar un instalador basado en debian-installer (también conocido como di).
las instalaciones automáticas para el nuevo instalador del servidor difieren de las preselecciones en las siguientes formas principales:
- el formato es completamente diferente (configuración de inicio de nube, generalmente yaml, frente a formato de selecciones de configuración de debconf)
- cuando la respuesta a una pregunta no está presente en una preselección, di se detiene y le pide al usuario que ingrese. las instalaciones automáticas no son así: de manera predeterminada, si hay alguna configuración de instalación automática, el instalador toma la configuración predeterminada para cualquier pregunta sin respuesta (y falla si no hay una configuración predeterminada).
- Puede designar secciones particulares en la configuración como “interactivas”, lo que significa que el instalador aún se detendrá y preguntará sobre ellas.
Proporcionar la configuración de instalación automática
La configuración de instalación automática se proporciona a través de la configuración de inicio en la nube, que es casi infinitamente flexible. En la mayoría de los escenarios, la forma más fácil será proporcionar datos de usuario a través de nocloud 2 fuente de datos.
La configuración de instalación automática debe proporcionarse bajo la autoinstall
clave en la configuración. Por ejemplo:
#cloud-config
autoinstall:
version: 1
...
Ejecutar una instalación automática verdaderamente automática
Incluso si se encuentra una configuración de instalación automática completamente no interactiva, el instalador del servidor solicitará confirmación antes de escribir en los discos a menos que autoinstall
esté presente en la línea de comando del núcleo. Esto es para dificultar la creación accidental de una memoria USB que formateará una máquina en la que está conectada durante el arranque. Muchas instalaciones automáticas se realizarán a través de netboot, donde la línea de comando del núcleo está controlada por la configuración de netboot, ¡solo recuerde ponerla autoinstall
allí!
Inicio rápido
¿Entonces solo quieres probarlo? Bueno, tenemos la página para ti.
Crear una configuración de instalación automática
Cuando se instala cualquier sistema utilizando el instalador del servidor, se crea un archivo de instalación automática para repetir la instalación en /var/log/installer/autoinstall-user-data
.
El complemento descrito aquí todavía no existe
Alternativamente, hay un complemento, autoinstall-editor
que puede usarse para editar o crear desde cero una configuración de instalación automática (en realidad, es en su mayoría el mismo código que el que ejecuta la instalación en modo interactivo).
# start editing new config file
$ autoinstall-editor
# dump out to stdout a complete autoinstall config with default answers everywhere
$ autoinstall-editor --create > my-autoinstall.yaml
# edit existing autoinstall config
$ autoinstall-editor my-autoinstall.yaml
La estructura de una configuración de autoinstalación
La configuración de instalación automática tiene documentación completa .
Técnicamente hablando, la configuración no se define como un formato de texto, pero la configuración de inicio de nube generalmente se proporciona como YAML, por lo que esa es la sintaxis que utiliza la documentación.
Una configuración mínima es:
version: 1
identity:
hostname: hostname
username: username
password: $crypted_pass
Aquí hay un archivo de ejemplo que muestra la mayoría de las características:
version: 1
reporting:
hook:
type: webhook
endpoint: http://example.com/endpoint/path
early-commands:
- ping -c1 198.162.1.1
locale: en_US
keyboard:
layout: en
variant: uk
network:
network:
version: 2
ethernets:
enp0s25:
dhcp4: yes
enp3s0: {}
enp4s0: {}
bonds:
bond0:
dhcp4: yes
interfaces:
- enp3s0
- enp4s0
parameters:
mode: active-backup
primary: enp3s0
proxy: http://squid.internal:3128/
apt:
primary:
- arches: [default]
- uri: http://repo.internal/
sources:
my-ppa.list:
source: "deb http://ppa.launchpad.net/curtin-dev/test-archive/ubuntu $RELEASE main"
keyid: B59D 5F15 97A5 04B7 E230 6DCA 0620 BBCF 0368 3F77
storage:
layout:
name: lvm
identity:
hostname: hostname
username: username
password: $crypted_pass
ssh:
install-server: yes
authorized-keys:
- $key
allow-pw: no
snaps:
- name: go
channel: 1.14/stable
classic: true
debconf-selections: |
bind9 bind9/run-resolvconf boolean false
packages:
- libreoffice
- dns-server^
user-data:
disable_root: false
late-commands:
- sed -ie 's/GRUB_TIMEOUT=.*/GRUB_TIMEOUT=30/' /target/etc/default/grub
error-commands:
- tar c /var/log/installer | nc 192.168.0.1 1000
Muchas teclas y valores corresponden directamente a las preguntas que hace el instalador (por ejemplo, la selección del teclado). Consulte la referencia para obtener detalles de aquellos que no.
Manejo de errores
El progreso a través del instalador se informa a través del reporting
sistema, incluidos los errores. Además, cuando ocurre un error fatal, error-commands
se ejecutan y el rastreo se imprime en la consola. El servidor solo espera.
Posibles direcciones futuras
Es posible que deseemos ampliar las “especificaciones de coincidencia” de los discos para cubrir otras formas de seleccionar discos.