Формулы соли упаковываются и распространяются среди мастеров соли с помощью менеджера пакетов. На эту концепцию повлияли упаковочные системы RPM , Yum и Pacman . Состояние соли, столб, шаблоны файлов и другие файлы используются формулой, а затем упаковываются в один файл.
После создания пакета формул он копируется в систему репозитория, чтобы использовать его для мастеров соли. Прежде чем перейти к менеджеру пакетов, давайте посмотрим, как установить пакет «nginx» с помощью базовой команды Salt.
Следующий синтаксис используется для установки пакета «nginx».
root@saltmaster:/home/vagrant# salt '*' pkg.install nginx
Здесь для установки пакета используется команда pkg.install nginx . После выполнения вы увидите следующий ответ.
Это даст следующий результат —
minion2: ---------- httpd: ---------- new: 1 old: httpd-cgi: ---------- new: 1 old: libxslt1.1: ---------- new: 1.1.28-2build1 old: nginx: ---------- new: 1.4.6-1ubuntu3.7 old: nginx-common: ---------- new: 1.4.6-1ubuntu3.7 old: nginx-core: ---------- new: 1.4.6-1ubuntu3.7 old: minion1: ---------- httpd: ---------- new: 1 old: httpd-cgi: ---------- new: 1 old: libxslt1.1: ---------- new: 1.1.28-2build1 old: nginx: ---------- new: 1.4.6-1ubuntu3.7 old: nginx-common: ---------- new: 1.4.6-1ubuntu3.7 old: nginx-core: ---------- new: 1.4.6-1ubuntu3.7 old:
Теперь вы установили пакет. Чтобы запустить службы для этого пакета, используйте команду, приведенную ниже.
root@saltmaster:/home/vagrant# salt '*' service.start nginx
После выполнения этой команды результат выглядит так, как показано в блоке кода ниже.
minion1: True minion2: True
Поэтому мы установили и запустили службы для пакета «nginx» с помощью базовой команды. Давайте теперь обсудим, как собирать и устанавливать пакеты в менеджере пакетов Salt.
Строительные пакеты
Пакеты могут быть собраны в любой системе, где вы можете установить Salt. Есть три типа пакетов, и они следующие.
- формула
- Реактор
- конф
Давайте теперь поймем, как создавать пакеты, используя Fomula File.
Файл формулы
Большинство файлов из пакета по умолчанию находятся в каталоге — / srv / spm / salt /, но файл pillar можно поместить в каталог — / srv / spm / pillar /. Файл формулы описывает пакет.
пример
name: apache os: RedHat os_family: RedHat version: 201607 release: 2 summary: Formula for installing Apache description: Formula for installing Apache
Вот,
-
Имя — название пакета. Здесь имя пакета — apache .
-
os — используется для определения того, какие операционные системы могут поддерживать этот пакет.
-
os_family — используется для определения того, какие семейства операционных систем могут поддерживать этот пакет.
-
Версия — версия пакета. Указывается в формате ГГГГММ.
-
Выпуск — это поле относится в основном к выпуску версии.
-
Краткое содержание — краткое описание пакета.
-
Описание — более подробное описание пакета.
Имя — название пакета. Здесь имя пакета — apache .
os — используется для определения того, какие операционные системы могут поддерживать этот пакет.
os_family — используется для определения того, какие семейства операционных систем могут поддерживать этот пакет.
Версия — версия пакета. Указывается в формате ГГГГММ.
Выпуск — это поле относится в основном к выпуску версии.
Краткое содержание — краткое описание пакета.
Описание — более подробное описание пакета.
РЕАКТОР
Файлы реактора находятся в каталоге / srv / spm / реактор / .
CONF
Файлы в пакете этого типа являются файлами конфигурации для Salt, которые обычно находятся в каталоге / etc / salt / . Файлы конфигурации для пакетов, отличных от Salt, могут и должны обрабатываться с помощью Salt State (используя пакетный тип формулы).
Давайте продолжим со следующими шагами для создания пакета.
-
Создайте файл FORMULA и поместите его в корень папки пакета.
-
Соберите файлы формул в папке в системе сборки.
-
Запустите spm build . Пакет собран и помещен в папку / srv / spm_build. Следующая команда используется для сборки пакета.
Создайте файл FORMULA и поместите его в корень папки пакета.
Соберите файлы формул в папке в системе сборки.
Запустите spm build . Пакет собран и помещен в папку / srv / spm_build. Следующая команда используется для сборки пакета.
spm build /path/to/salt-packages-source/formula
-
Теперь скопируйте файл .spm в папку в системе хранилища.
-
Вы можете открыть общий доступ к папке srv / spm_build в сети или скопировать файлы на свой FTP или веб-сервер .
-
Сгенерируйте метаданные репо, используя следующую команду.
Теперь скопируйте файл .spm в папку в системе хранилища.
Вы можете открыть общий доступ к папке srv / spm_build в сети или скопировать файлы на свой FTP или веб-сервер .
Сгенерируйте метаданные репо, используя следующую команду.
spm create_repo /srv/spm_build
Установка пакетов
В этом разделе рассказывается об установке пакетов менеджера пакетов Salt.
Настроить удаленные репозитории
Чтобы настроить удаленные репозитории, Salt Master должен знать, где находится репозиторий в процессе настройки.
Файлы находятся в каталоге /etc/salt/spm.repos.d/spm.repo .
пример
file_repository: url: https://spm.example.com/
Здесь файл содержит имя хранилища и ссылку на хранилище. Вы также можете использовать http, https, ftp или путь к файлу. Чтобы использовать путь к файлу, вы можете получить к нему доступ с помощью URL: file: /// srv / spm_build.
Обновить метаданные
После того, как хранилище сконфигурировано на главном сервере Salt, метаданные хранилища загружаются с помощью приведенной ниже команды.
spm update_repo
Обновить корни файлов
Пакеты SPM находятся в каталоге srv / spm / salt. Добавьте следующий путь к корням файла на мастере соли,
file_roots: base: 1. /srv/salt 2. /srv/spm/salt
Теперь перезапустите мастер соли.
Установить пакет Apache
Чтобы установить пакет apache, используйте следующую команду.
spm install apache
Вы также можете установить непосредственно из файла SPM с помощью команды ниже.
spm local install /srv/spm/apache-201607-1.spm
Удаление пакета
Чтобы удалить пакет, например — apache, используйте следующую команду:
spm remove apache
Обратите внимание, что если какие-либо файлы были изменены, они не будут удалены.