SaltStack - менеджер пакетов соли
Формулы соли упаковываются и распространяются мастерам соли с помощью диспетчера пакетов. На эту концепцию повлиялиRPM, Yum и Pacmanупаковочные системы. Состояние соли, столб, шаблоны файлов и другие файлы используются формулой, а затем упаковываются в один файл.
После создания пакета формул он копируется в систему репозитория, чтобы использовать его для мастеров соли. Прежде чем перейти к диспетчеру пакетов, давайте посмотрим, как установить пакет «nginx» с помощью базовой команды Salt.
Следующий синтаксис используется для установки пакета «nginx».
root@saltmaster:/home/vagrant# salt '*' pkg.install nginx
Здесь pkg.install nginxкоманда используется для установки пакета. После выполнения вы увидите следующий ответ.
Это приведет к следующему output -
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. Есть три типа пакетов, и они следующие.
- Formula
- Reactor
- Conf
Давайте теперь поймем, как создавать пакеты с помощью Fomula Файл.
Файл формулы
Большинство файлов из пакета по умолчанию расположены в каталоге - / srv / spm / salt /, но файл pillar можно разместить в каталоге - / srv / spm / pillar /. Файл формулы описывает пакет.
Example
name: apache
os: RedHat
os_family: RedHat
version: 201607
release: 2
summary: Formula for installing Apache
description: Formula for installing Apache
Вот,
Name- Название пакета. Здесь имя пакетаapache.
os - Он используется, чтобы узнать, какие операционные системы могут поддерживать этот пакет.
os_family - Он используется, чтобы узнать, какие семейства операционных систем могут поддерживать этот пакет.
Version- Версия пакета. Он указывается в формате ГГГГММ.
Release - Это поле в первую очередь относится к выпуску версии.
Summary - Краткое описание пакета.
Description - Более подробное описание пакета.
РЕАКТОР
Файлы реактора находятся в /srv/spm/reactor/ каталог.
CONF
Файлы в этом типе пакета представляют собой файлы конфигурации для Salt, которые обычно находятся в /etc/salt/каталог. Файлы конфигурации для пакетов, отличных от Salt, могут и должны обрабатываться с помощью Salt State (с использованием типа пакета формулы).
Давайте продолжим следующие шаги, чтобы собрать пакет.
Создайте файл FORMULA и поместите его в корень папки пакета.
Соберите файлы формул в папке в системе сборки.
Бежать spm build. Пакет собран и помещен в папку / srv / spm_build. Следующая команда используется для создания пакета.
spm build /path/to/salt-packages-source/formula
Теперь скопируйте .spm файл в папку в системе репозитория.
Вы можете поделиться srv/spm_build папку в сети или скопируйте файлы на свой FTP или веб-сервер.
Создайте метаданные репо с помощью следующей команды.
spm create_repo /srv/spm_build
Установка пакетов
В этом разделе объясняется установка пакетов диспетчера пакетов Salt.
Настроить удаленные репозитории
Чтобы настроить удаленные репозитории, Salt Master должен знать, где находится репозиторий, в процессе настройки.
Файлы находятся в /etc/salt/spm.repos.d/spm.repo каталог.
Example
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
Обратите внимание, что если какие-либо файлы были изменены, они не будут удалены.