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

Обратите внимание, что если какие-либо файлы были изменены, они не будут удалены.