Развертывание новых узлов

Сетевое развертывание новых узлов под контролем РОСА Центр управления выполняется в автоматическом режиме с применением стандартизированного сценария развертывания Kickstart.

В процессе развертывания узла осуществляется установка ОС и первичная настройка системной конфигурации узла (автоматически настраиваются имя узла, параметры сети и репозитории), а также выполняется регистрация узла в РОСА Центр управления, при этом правила автоподписывания сертификатов не требуют какой-либо специальной подготовки.

Подготовка установочного носителя

Дополнительная подготовка источников установки для ОС проводится по следующим сценариям:

  1. ROSA Chrome/Fresh;

Источники установки формируются аналогично для дистрибутивов:

  • ROSA Chrome Desktop 12.4, platform 2021.1;
  • ROSA Chrome Server 12.4, platform 2021.1;
  • ROSA Fresh Desktop 12.4, platform 2021.1;
  • ROSA Fresh Server 12.4, platform 2021.1.

Необходимо скачать и распаковать полученный образ дистрибутива. В распакованном каталоге образа создать каталог для файлов загрузки:

mkdir -p ./images/pxeboot

Далее скопировать файлы для загрузки:

cp ./initrd0.img ./images/pxeboot/initrd.img
cp ./vmlinuz0 ./images/pxeboot/vmlinuz
  1. Astra Linux 1.7;

Необходимо скачать и распаковать полученный образ дистрибутива. В распакованном каталоге образа создать каталог для файлов загрузки:

mkdir -p ./dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64

Затем скопировать файлы для загрузки:

cp ./netinst/initrd.gz ./dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
cp ./netinst/linux ./dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux
  1. ALT Linux P10;

Источники установки формируются аналогично для дистрибутивов:

  • ALT Workstation 10.1 (Autolycus);
  • ALT Workstation K 10.2 (Sorbaronia Mitschurinii).

Необходимо скачать и распаковать полученный образ дистрибутива. В распакованном каталоге образа создать каталог для файлов загрузки:

mkdir -p ./syslinux/alt0

Затем скопировать файлы для загрузки:

cp ./boot/initrd.img ./syslinux/alt0/full.cz
cp ./boot/vmlinuz ./syslinux/alt0/vmlinuz

Перейти в каталог для установки:

cd ./Metadata

Создать каталоги для скриптов установки:

mkdir -p ./install-scripts/postinstall.d
mkdir -p ./install-scripts/preinstall.d

Создать файл ./install-scripts/postinstall.d/99_grub_install.sh для установки загрузчика:

#!/bin/bash
if [ "$(lsblk | grep /mnt/destination/boot/efi)" != "" ]; then
exit
fi
if [ "$(lsblk | grep /mnt/destination | grep nvme)" != "" ]; then
bootdevice='/dev/nvme'
elif [ "$(lsblk | grep /mnt/destination | grep vda)" != "" ]; then
bootdevice='/dev/vda'
elif [ "$(lsblk | grep /mnt/destination | grep sda)" != "" ]; then
bootdevice='/dev/sda'
else
bootdevice='notfound'
fi
if [ ${bootdevice} == "notfound" ]; then
exit 1
fi
echo "${bootdevice}" > /mnt/destination/tmp/grub_install.device
cat > /mnt/destination/tmp/grub_install.sh << EOF
#!/bin/bash
device=\`cat /tmp/grub_install.device\`
LC_ALL=C /usr/sbin/grub-install --boot-directory=/boot \${device}
LC_ALL=C /usr/sbin/update-grub
systemctl enable sshd
systemctl enable puppet
EOF
chmod +x /mnt/destination/tmp/grub_install.sh
mount --bind /dev /mnt/destination/dev
mount --bind /proc /mnt/destination/proc
mount --bind /sys /mnt/destination/sys
chroot /mnt/destination /tmp/grub_install.sh
exit 0

Создать права на исполнение скрипта:

chmod +x ./install-scripts/postinstall.d/99_grub_install.sh

Создать архив с установочными скриптами:

rm -f ./install-scripts.tar && cd ./install-scripts && tar -cf ../install-scripts.tar ./* && cd ..

После создания архива удалить каталог подготовки скриптов:

rm -rf ./install-scripts

Подготовка к сетевому развертыванию узла на других ОС

Установка ОС на узле без автоматического развертывания

Процедура развертывания ОС на узле осуществляется по сценариям в виде скриптов "Шаблонов подготовки".

Перед сетевой установкой необходимо создать конфигурационные файлы для загрузки по сети. Для этого необходимо перейти в "Узлы → Шаблоны → Шаблоны подготовки", нажать на кнопку Сборка PXE по умолчанию в верхнем правом углу в появившемся модальном окне нажать на кнопку Подтвердить.

В случае развертывания ОС Альт Linux для подготовки в меню "Управление → Параметры" во вкладке "Подготовка" необходимо изменить значение параметра "Рендеринг в безопасном режиме" на "Да" (рисунок 22).

Рисунок 22 — Изменение параметра

Для подготовки установки ОС на узле без настройки автоматического развертывания необходимо настроить ВМ для загрузки по сети.

Затем следует перейти к загрузке ВМ, на которой предполагается развертывание, и на экране выбрать плагин "Control Center Discovery Image" (рисунок 23).

Рисунок 23 — Меню загрузки ВМ

После успешной загрузки по сети на экран будет выведено окно (рисунок 24).

Рисунок 24 — Результат успешной загрузки

Далее в меню "Узлы → Обнаруженные узлы" в рабочей панели должен появиться обнаруженный узел (рисунок 25).

Для процедуры сетевой установки следует нажать кнопку Сетевая установка.

Рисунок 25 — Обнаруженные узлы

Далее в появившемся модальном окне нужно выбрать группу узлов "Puppet", организацию и местоположение, затем нажать кнопку Создать узел. Затем указать параметры для операционной системы, которая предполагается к установке и нажать кнопку Применить.

После этого будет создана конфигурация и ВМ перезагрузится автоматически в соответствии с параметрами развертывания.

Установка ОС на узле с автоматическим развертыванием

Для включения в процедуру автоматического развертывания вновь обнаруженных узлов или групп узлов по заданным правилам требуется в меню "Управление → Параметры" на вкладке "Обнаружение" рабочей области задать значение "Да" параметру "Автоматическая подготовка" (рисунок 26), указать "Местоположение обнаружения", "Организация обнаружения". Для отмены авторазвертывания параметру присваивают значение "Нет".

Рисунок 26 — Параметры авторазвертывания

Для всех обнаруженных узлов необходимо провести процедуру включения в группы узлов, задания правил и параметров сетевой установки в соответствии с п. Параметры сетевого развертывания узла в меню "Настройки → Группы узлов":

  • на вкладке "Группа узлов" определить параметры для агента Puppet;
  • на вкладке "Операционная система" назначить целевую ОС.

Для подготовки процедуры автоматического развертывания используется функционал правил обнаружения узлов.

Для создания правила обнаружения в меню "Настройка → Правила обнаружения" требуется нажать кнопку Создать правило (рисунок 27).

Рисунок 27 — Правила обнаружения

В рабочей области на вкладке "Основной" необходимо ввести значения полей (рисунок 28):

  • Имя – имя правила;
  • Search – условие для поиска узлов по их характеристикам;
  • Hostname – имя узла;
  • Ограничение узлов – максимальное инициализируемых число в соответствии с правилами (0 – без ограничений);
  • Группа узлов – группа узлов, к которой будет применено правило с настроенными параметрами;
  • Приоритет – приоритет применения правила (тем выше, чем ниже число).
  • Включено – можно отключить параметр, чтобы правило не использовалось.

Для сохранения правила нажать кнопку Применить.

В рабочей области отобразится созданное правило автоматического развертывания, в строке которого можно выбором из столбца "Действия" нажать кнопки:

  • Обнаруженные узлы – просмотреть обнаруженные узлы по этому правилу;
  • Сопоставленные узлы – просмотреть управляемые узлы по этому правилу;
  • Отключить – отключить правило;
  • Удалить – удалить правило.

Рисунок 28 — Редактирование правила обнаружения

В результате на всех обнаруженных узлах будет автоматически создана конфигурация, узел перезагрузится и осуществится развертывание назначенной ОС в соответствии с заданными ранее правилами и параметрами.

Параметры сетевого развертывания узла

После регистрации лицензии и подготовки установочного носителя ОС требуется выполнить настройку параметров сетевого развертывания узла. Для этого следует перейти в меню "Узлы → Создать узел" панели навигации.

На экране появится интерфейс настройки, в котором параметры развертывания нового узла распределены по вкладкам (рисунок 29).

Рисунок 29 — Параметры сетевого развертывания узла

Во вкладке "Узел" интерфейса настройки указывают имя узла.

Примечание – Указывается не полное доменное имя, а только непосредственно символьное имя узла (например, backup или monitoring).

Затем из раскрывающегося списка "Область" нужно выбрать домен СИПА, в который РОСА Центр управления может вводить узлы. В итоге полное доменное имя узла будет составлено автоматически из символьного имени узла и имени домена.

При необходимости в первой вкладке можно выбрать группу, в которую будет включен узел (в общем случае узел может быть и вне группы). При этом соответствующие поля настроек Puppet будут автоматически заполнены в соответствии с настройками выбранной группы.

Также здесь можно настроить параметры Puppet вручную.

Примечание – Изменить значения этих параметров после установки ОС будет невозможно. Для этого потребуется переустановка ОС.

Вкладка "Роли Ansible" предоставляют возможность присвоить роли Ansible. Перед установкой ОС допускается оставить для этих параметров значения по умолчанию, так как настройки этих параметров можно изменить впоследствии.

Во вкладке "Операционная система" указывают значения для следующих обязательных параметров настройки:

  • архитектура;
  • ОС;
  • установочный носитель;
  • таблица разделов;
  • пароль суперпользователя root.

Во вкладке "Интерфейсы" настраивают параметры как минимум для одного (первичного) сетевого интерфейса. Обязательно требуется указать IP-адрес и MAC-адрес. При этом указанный MAC-адрес интерфейса должен соответствовать фактическому, так как по MAC-адресу первичного сетевого интерфейса узел идентифицируется во время первой загрузки и получает настройки через DHCP.

Вкладка "Puppet ENC" позволяет назначить список модулей Puppet для выполнения на узле. Перед установкой ОС допускается оставить для этих параметров значения по умолчанию, так как настройки этих параметров можно изменить впоследствии.

Вкладка "Параметры" содержит параметры управления поведением шаблонов подготовки, то есть параметры, которые влияют на генерируемые скрипты установки и настройки. При этом значения по умолчанию этих параметров согласованы с РОСА "Хром" (или ROSA Enterprise Linux Server), поэтому рекомендуется оставить существующие значения без изменений. Параметры из секции "Глобальные параметры" можно переопределять или удалять, нажав соответствующую кнопку Переопределить в строке параметра. Кроме того, есть возможность добавлять параметры конкретного узла в секции "Параметры Узла", для чего нужно нажать кнопку +Добавить параметр и ввести его имя, тип и значение.

При создании узла имеется возможность указания пользователя, добавившего узел, и пользователя, который будет этим узлом управлять. Операция осуществляется на вкладке "Дополнительно" выбором пользователя из списка "Владелец" в меню "Узлы" при создании или редактировании узла.

После завершения настройки параметров развертывания нужно нажать кнопку Применить.

В результате РОСА Центр управления автоматически подготовит необходимые конфигурационные файлы pxelinux и kickstart, разместит ядро ОС и файл initrd в корневом каталоге TFTP, после чего на экране появится сообщение о готовности к сетевому развертыванию узла.

Далее необходимо включить узел, установить приоритет загрузки узла по сети и дождаться окончания процесса развертывания.

Для просмотра списка узлов выбирают пункт основного меню "Узлы → Все Узлы". Для просмотра информации об узле нужно нажать на его имя. Для редактирования информации об узле следует нажать на кнопку Изменить в колонке "Действия" в строке с его именем в списке. Для удаления узла нужно выбрать действие "Удалить" в строке записи или выбрать пункт "Удалить узлы" в общем списке "Действия" для выбранных узлов.

Указание сетевого адреса подсети

Для заведения в РОСА Центр управления подсетей, используемых в организации и/или их местоположении, необходимо перейти в пункт основного меню "Инфраструктура ® Подсети", в окне которого можно завести новую подсеть, нажав кнопку Создать подсеть, или изменить параметры существующей, нажав на её имени (рисунок 30).

Для удаления подсети нужно выбрать действие "Удалить" в строке записи домена.

Рисунок 30 — Работа с подсетями

При создании или изменении подсети указываются имя подсети, ее параметры, отнесение к доменам, организация и местоположение (рисунок 31). Для сохранения введенных данных необходимо нажать кнопку Применить.

Рисунок 31 — Изменение данных о подсети

Для того чтобы у узла была задана подсеть, необходимо отнести узел к группе, а уже для группы узлов задать эти параметры в основном меню "Настройка → Группы узлов" на вкладке "Сеть" (рисунок 32). Здесь же на вкладках "Местоположения" и "Организации" можно задать местоположение и организацию группы соответственно.

Рисунок 32 — Параметры сети для группы узлов

Указание серверов прокси HTTP

Для обеспечения работы РОСА Центр управления без прямого доступа к сети Интернет необходимо указать серверы прокси HTTP. Для этого в пункте меню навигации выбрать "Инфраструктура → HTTP Прокси" и в рабочей области нажать кнопку Новый HTTP-прокси.

На вкладке "HTTP-прокси" вводят имя сервера и его URL с указанием порта. Проверить подключение можно нажатием кнопки с идентичным названием (рисунок 33). Для сохранения данных нажимают кнопку Применить.

Рисунок 33 — Добавление прокси HTTP

Вычислительные ресурсы

Для создания узлов на базе ВМ необходимо завести виртуальные вычислительные ресурсы. Работа с ресурсами обеспечивается в меню "Инфраструктура → Вычислительные ресурсы" (рисунок 34). Для добавления нового ресурса нажимают кнопку Создать вычислительный ресурс и вводят его наименование, описание и выбирают среду виртуализации в раскрывающемся списке "Сервис": EC2, Libvirt, OpenStack, VMware или oVirt. В зависимости от выбранной среды необходимо ввести параметры для подключения и конфигурирования ресурса. Здесь же на вкладках "Местоположения" и "Организации" можно задать местоположение и организацию соответственно. Для сохранения данных нажимают кнопку Применить. В появившемся списке в столбце действия можно выбрать изменение или удаление существующего вычислительного ресурса.

Рисунок 34 — Вычислительные ресурсы

Вычислительные ресурсы используются при создании новых ВМ в качестве альтернативы узлам, работающим на физическом оборудовании. Профили ВМ привязывают к вычислительным ресурсам и создают на их основе образы ВМ и сами ВМ на базе образов (рисунок 35). Вычислительный ресурс указывают при создании ВМ на вкладке "Узел" выбором в поле "Развертывание" наименования ресурса.

Рисунок 35 — Работа с вычислительным ресурсом

Профили виртуальных машин

В случае создания узлов на базе ВМ необходимо завести возможные профили их технических характеристик для развертывания. Работа с профилями ВМ обеспечивается в меню "Инфраструктура → Профили вычислений" (рисунок 36). Для добавления нового профиля нажимают кнопку Создать профиль вычислений и вводят его наименование. Для сохранения данных нажимают кнопку Применить. В столбце действия можно выбрать изменение или удаление существующего профиля ВМ.

Профили ВМ используются при создании новых узлов в качестве альтернативы узлам, работающим на физическом оборудовании. Профили указывают при создании узла на вкладке "Узел" выбором в поле "Развертывание"

Рисунок 36 — Вычислительные профили

Создание подготовленных образов конфигураций узлов

Для оперативного управления конфигурациями узлов предусмотрена возможность создания подготовленных образов конфигураций, которые могут быть развёрнуты на узлах в автоматизированном режиме.

Для подготовки таких образов используется раздел "Узлы" основного меню и группы пунктов меню с данными для конфигурирования узлов (рисунок 37):

  1. группа "Подготовка узлов":
    • "Архитектура" – перечень применяемых архитектур узлов;
    • "Модели оборудования" – типы применяемых классов центрального процессора узла;
    • "Установочный носитель" – перечень источников устанавливаемых операционных систем с указанием пути для скачивания;
    • "Операционные системы" – перечень операционных систем со спецификацией всех применяемых параметров установки: версии ОС, семейства ОС, архитектуры рабочих станций, таблицы разделов, установочного носителя и шаблона подготовки;

Примечание – Для ОС может применяться набор настраиваемых шаблонов (начальный и постустановочный сценарии, установщик ОС и загрузчик PXE).

  1. группа "Шаблоны":
    • "Таблицы разделов" – инструкции в виде скриптов для создания таблиц разделов на накопителях рабочих станций в зависимости от семейства операционной системы;
    • "Шаблоны подготовки" – инструкции в виде скриптов, описывающие все этапы подготовки конфигурации узла, начиная с подготовительного и заканчивая завершающим шаблонами;
    • "Шаблоны заданий" – инструкции в виде скриптов, описывающие задания на всех этапах подготовки конфигурации узла.

Рисунок 37 — Подготовка образов конфигураций узлов

На основании этих данных каждый узел может быть сконфигурирован как отдельно, так и в составе групп с подобными конфигурациями. Выбор и применение конфигураций узлов в составе групп осуществляется на вкладке "Операционная система" при редактировании группы по пункту меню "Настройка → Группы узлов".

Конфигурирование шаблонов установки ОС

Для конфигурирования шаблонов установки ОС нужно перейти в меню "Узлы → Подготовка узлов → Операционные системы" и нажать кнопку Создать операционную систему или выбрать существующую ОС из списка (рисунок 38).

Рисунок 38 — Создание новой или выбор настроенной ОС

На вкладке "Шаблоны" выбираются шаблоны для каждого этапа загрузки ОС (рисунок 39).

Для сохранения следует нажать кнопку Применить.

Рисунок 39 — Настройка шаблонов для ОС

Установочные носители

Для указания источников устанавливаемых ОС с указанием пути для скачивания используется функционал меню "Узлы → Подготовка узлов → Установочный носитель" (рисунок 40).

Рисунок 40 — Перечень установочных носителей

Для создания нового установочного носителя нужно нажать кнопку Создать носитель и в рабочей области на вкладке "Носитель" задать значения полей (рисунок 41):

  • Имя – имя установочного носителя;
  • Путь – путь до установочного носителя в виде URL;
  • Семейство ОС – тип ОС.

Рисунок 41 — Создание установочного носителя

Для сохранения нажать кнопку Применить.

Для работы с установочными носителями нужно внести изменения в соответствующие классы Puppet rcc_typical_arm_bux и rcc_typical_arm_bux, отвечающие за установку пакетов на узлы.

Для внесения изменений нужно перейти в меню "Настройки → Классификатор узлов Puppet → Классы", в рабочей области выбрать имя класса и на вкладке "Параметр Smart Class" выбрать для редактирования параметр по маске с постфиксом и внести изменения в раздел "Поведение по умолчанию":

  • *_enable – установить флажок в поле "Переопределить", в поле "Значение по умолчанию" задать "true" для установки пакетов, "false" для удаления;
  • *_packages – для задания списков пакетов установить флажок в поле "Изменить", задать строку перечня пакетов, разделенных запятыми, в поле "Значение по умолчанию". Для сохранения нажать кнопку Применить.