hostprofi.ru
Подобрать хостинг
Термин·буква K

Kickstart

краткое определение

Kickstart — технология автоматической установки Red Hat/CentOS/Fedora Linux. Файл ответов kickstart.cfg содержит все параметры установки: разбивка дисков, сетевые настройки, пакеты и пост-инсталляционные скрипты. Позволяет установить ОС без участия человека.

Kickstart — система автоматической установки дистрибутивов Linux на основе Red Hat: RHEL, CentOS, Fedora, Rocky Linux, AlmaLinux. Файл kickstart (ks.cfg или anaconda-ks.cfg) содержит ответы на все вопросы инсталлятора Anaconda. При загрузке с параметром inst.ks=http://server/ks.cfg установка выполняется полностью автоматически без единого взаимодействия с экраном.

Структура kickstart-файла

#version=RHEL9
lang ru_RU.UTF-8
keyboard --vckeymap=ru --xlayouts=ru,us
timezone Europe/Moscow --utc

network --bootproto=dhcp --device=eth0 --activate --hostname=webserver01

# Пароль root (зашифрован через openssl passwd -6)
rootpw --iscrypted $6$rounds=656000$salt$hash

bootloader --append="crashkernel=auto" --location=mbr
clearpart --all --initlabel --disklabel=gpt

# Разметка диска
part /boot/efi --fstype="efi" --size=512
part /boot --fstype="xfs" --size=1024
part swap --fstype="swap" --size=4096
part / --fstype="xfs" --size=1 --grow

%packages
@^minimal-environment
openssh-server
bash-completion
%end

%post
systemctl enable sshd
# Добавить SSH-ключ
mkdir -p /root/.ssh
echo "ssh-ed25519 AAAA... deploy@example.com" >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
%end

Способы передачи файла kickstart

  • HTTP/HTTPS: inst.ks=http://ks-server/ks.cfg — наиболее гибкий вариант. Скрипт может генерировать ks.cfg динамически на лету.
  • FTP: inst.ks=ftp://ks-server/ks.cfg — устаревший способ.
  • NFS: inst.ks=nfs:ks-server:/ks/ks.cfg — для инсталляции внутри закрытой сети без HTTP.
  • USB/Диск: inst.ks=hd:sdb1:/ks.cfg — для изолированных окружений.
  • Встроенный в ISO: добавить параметр ks= в grub.cfg при сборке кастомного ISO через lorax или mkksiso.

PXE-boot + Kickstart

Комбинация PXE-boot и Kickstart позволяет развёртывать десятки серверов одновременно без физического доступа к каждому. Схема: сервер загружается по сети (PXE), получает IP через DHCP, скачивает ядро и initrd через TFTP, загружается с параметром inst.ks=http://ks-server/ks.cfg, Anaconda выполняет установку без участия человека. Весь процесс занимает 10–30 минут.

История

Kickstart разработан Red Hat в конце 1990-х для автоматизации массовых развёртываний корпоративных систем. Первые версии появились с Red Hat Linux 6.1 (1999). Инсталлятор Anaconda использует kickstart как основной механизм автоматизации по сей день. Debian/Ubuntu использует аналогичные технологии: preseed (старый формат) и Autoinstall (YAML, Ubuntu 20.04+). Для современных облачных образов стандарт — cloud-init, который принимает YAML-конфигурацию при первом запуске ВМ.

Kickstart в хостинге

Хостинг-провайдеры и корпоративные IT-отделы применяют Kickstart для нескольких задач. Массовая установка физических серверов в датацентре: сервер включается в стойке, загружается по PXE и через 20 минут готов к работе без участия инженера. Создание золотого образа (golden image): Kickstart устанавливает эталонный сервер, с которого снимается снапшот для гипервизоров. Для выделенных серверов без IPMI-консоли можно загрузить сервер с PXE через виртуальный DVD.

Современные альтернативы для cloud-окружений: cloud-init (стандарт для облачных образов, поддерживается AWS, Hetzner, DigitalOcean), Vagrant с provisioning для dev-окружений, Ansible для пост-инсталляционной конфигурации. Kickstart остаётся незаменимым для RHEL-экосистемы и физических серверов.

Отличия Kickstart от Preseed и Autoinstall

ПараметрKickstartPreseed (Debian)Autoinstall (Ubuntu)
ДистрибутивRHEL/CentOS/Rocky/AlmaDebian, Ubuntu ≤18.04Ubuntu 20.04+
ФорматТекстовый INI-подобныйТекстовые пары ключ-значениеYAML (cloud-init совместимый)
ИнсталляторAnacondaDebian Installer (d-i)Subiquity
Сеть доставкиHTTP/FTP/NFS/USBHTTP/TFTP/CDHTTP/cloud-init

Другие термины