Автоматизация установки

Описание

  • Для автоматизации установки могут использоваться разные решения:

    • Vagrant - автоматическое развертывание виртуальных машин

    • Cloud-init и темплейты в облачных средах

    • Kickstart и PXE-сервер для инструктирования автоматической установки

      • Kickstart содержит инструкции для процесса установки RHEL

Файл kickstart

  • После установки системы в домашней директории рута создается файл anaconda-ks.cfg

  • Этот файл можно править вручную

    • Ранее в RHEL был отдельный файл kickstart, но теперь он недоступен

  • Текущие параметры отражены в файле initial-setup-ks.cfg

[root@centos8 ~]# cat initial-setup-ks.cfg 
#version=RHEL8
# X Window System configuration information
xconfig  --startxonboot
# License agreement
eula --agreed
# Use graphical install
graphical
# Network information
network  --bootproto=dhcp --device=ens160 --ipv6=auto --activate
network  --bootproto=dhcp --hostname=centos8
ignoredisk --only-use=nvme0n1
# Use CDROM installation media
cdrom
# Run the Setup Agent on first boot
firstboot --enable
# System services
services --enabled="chronyd"
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8 --addsupport=ru_RU.UTF-8

repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
# Root password
rootpw --iscrypted $6$YGvvIZaEe.CzK00h$hdl/09uSQ19nMv/ckjbiPQj7Er5P5rhCpFiCVIRFfvL/LrP2OWHOVjIWFSf49XjEiYUsLx7n0rpy/Alxyj4IX/
# System timezone
timezone Europe/Moscow --isUtc
user --groups=wheel --name=admin --password=$6$TCph1GHALnERxce.$f/iSPJynr5Pm2loplT7ZuE1zM690B2sHM0p7xzAPyAXMDB.JdN0iTimzWuwHztE9plDCp5.L.S9zly1Rue5Xf/ --iscrypted --gecos="Administrator"
# System bootloader configuration
bootloader --location=none
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel

%packages
@^workstation-product-environment
kexec-tools

%end

%addon com_redhat_subscription_manager 
%end
%addon ADDON_placeholder --enable --reserve-mb=auto
%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
  • Все эти параметры автоматически будут применены при необходимости в процессе установки

  • Ненужные строки можно удалить, тогда соответствующие им параметры будут предложены для настройки в процессе инсталляции

Изменение kickstart файла

  • Обычно файл kickstart расположен на сервере установки

  • Перед запуском установки клиент обращается к файлу kickstart для парсинга настроек

    • Для этого используется параметр загрузки ks=http://somewhere/ks.cfg (ссылка может быть и на интерфейс и локальный файл с носителя)

    • Параметр выставляется в начале установки через опции параметров загрузки

      • Выбор Install <OS_Name> и Tab для опций

Kickstart в дата-центрах

  • На сервере инсталляции хранятся все необходимые файлы для установки ОС

  • С помощью PXE Boot клиент подключается к серверу для последующей загрузки всех необходимых файлов

  • На сервере должен работать DHCP и TFTP сервер

  • Получив IP адрес, клиент забирает с TFTP образ

  • Затем запрашивает kickstart файл, получает его, проводит установку

  • Все необходимые пакеты для системы также как правило предоставляет сервер установки

Vagrant

  • Vagrant - решение для автоматической установки виртуальных машин

  • Vagrant работает с "коробкой" ("box"), которая представляет собой tar файл с образом виртуальной машины

  • Преднастроенные машины доступны на сайте vagrantcloud.com

  • Администраторам доступно создавать собственные коробки

  • Vagrant может взаимодействовать с системами хостов (Hyper-V, VMWare, KVM)

  • Различные инструменты (provisioners) могут использоваться для постинсталляционной настройки системы (Bash, Ansible)

  • Для создания среды Vagrant использует vagrantfile, который представляет из себя текстовый файл

  • Не является частью системы, необходима установка через собственный репозиторий

Last updated